mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
app/vmselect/promql: properly limit implicitly set rollup window to -search.maxStalenessInterval
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/784
This commit is contained in:
parent
2985077c35
commit
c584aece38
2 changed files with 6 additions and 1 deletions
|
@ -474,6 +474,11 @@ func (rc *rollupConfig) doInternal(dstValues []float64, tsm *timeseriesMap, valu
|
||||||
window := rc.Window
|
window := rc.Window
|
||||||
if window <= 0 {
|
if window <= 0 {
|
||||||
window = rc.Step
|
window = rc.Step
|
||||||
|
if rc.LookbackDelta > 0 && window > rc.LookbackDelta {
|
||||||
|
// Implicitly set window exceeds -search.maxStalenessInterval, so limit it to -search.maxStalenessInterval
|
||||||
|
// according to https://github.com/VictoriaMetrics/VictoriaMetrics/issues/784
|
||||||
|
window = rc.LookbackDelta
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if rc.MayAdjustWindow && window < maxPrevInterval {
|
if rc.MayAdjustWindow && window < maxPrevInterval {
|
||||||
window = maxPrevInterval
|
window = maxPrevInterval
|
||||||
|
|
|
@ -645,7 +645,7 @@ func TestRollupFuncsLookbackDelta(t *testing.T) {
|
||||||
}
|
}
|
||||||
rc.Timestamps = getTimestamps(rc.Start, rc.End, rc.Step)
|
rc.Timestamps = getTimestamps(rc.Start, rc.End, rc.Step)
|
||||||
values := rc.Do(nil, testValues, testTimestamps)
|
values := rc.Do(nil, testValues, testTimestamps)
|
||||||
valuesExpected := []float64{99, nan, 44, nan, 32, 34, nan}
|
valuesExpected := []float64{12, nan, nan, nan, 34, 34, nan}
|
||||||
timestampsExpected := []int64{80, 90, 100, 110, 120, 130, 140}
|
timestampsExpected := []int64{80, 90, 100, 110, 120, 130, 140}
|
||||||
testRowsEqual(t, values, rc.Timestamps, valuesExpected, timestampsExpected)
|
testRowsEqual(t, values, rc.Timestamps, valuesExpected, timestampsExpected)
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue