From ea5e7eafde8e65c3a394801e1b15378b1ef1f58e Mon Sep 17 00:00:00 2001 From: beorn7 Date: Fri, 21 Jul 2017 16:35:15 +0200 Subject: [PATCH] Fix #2965 We would overscan when hitting a value directly, interspersed with samples in between timestamps. Apparently, that happens rarely enough that it was only noticed recently. --- storage/local/chunk/varbit.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/local/chunk/varbit.go b/storage/local/chunk/varbit.go index 2ec59efd3..2b13d57d9 100644 --- a/storage/local/chunk/varbit.go +++ b/storage/local/chunk/varbit.go @@ -1040,7 +1040,7 @@ func (it *varbitChunkIterator) FindAtOrBefore(t model.Time) bool { prevT = model.Earliest prevV model.SampleValue ) - for it.Scan() && t.After(it.t) { + for it.Scan() && !t.Before(it.t) { prevT = it.t prevV = it.v // TODO(beorn7): If we are in a repeat, we could iterate forward