mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-02 08:31:11 -08:00
[BUGFIX] TSDB: Don't read in-order chunks from before head MinTime
Because we are reimplementing the `IndexReader` to fetch in-order and out-of-order chunks together, we must reproduce the behaviour of `Head.indexRange()`, which floors the minimum time queried at `head.MinTime()`. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
parent
16f3eaf5aa
commit
105c692f77
|
@ -2043,7 +2043,7 @@ func (db *DB) Querier(mint, maxt int64) (_ storage.Querier, err error) {
|
||||||
|
|
||||||
overlapsOOO := overlapsClosedInterval(mint, maxt, db.head.MinOOOTime(), db.head.MaxOOOTime())
|
overlapsOOO := overlapsClosedInterval(mint, maxt, db.head.MinOOOTime(), db.head.MaxOOOTime())
|
||||||
var headQuerier storage.Querier
|
var headQuerier storage.Querier
|
||||||
inoMint := mint
|
inoMint := max(db.head.MinTime(), mint)
|
||||||
if maxt >= db.head.MinTime() || overlapsOOO {
|
if maxt >= db.head.MinTime() || overlapsOOO {
|
||||||
rh := NewRangeHead(db.head, mint, maxt)
|
rh := NewRangeHead(db.head, mint, maxt)
|
||||||
var err error
|
var err error
|
||||||
|
@ -2121,7 +2121,7 @@ func (db *DB) blockChunkQuerierForRange(mint, maxt int64) (_ []storage.ChunkQuer
|
||||||
|
|
||||||
overlapsOOO := overlapsClosedInterval(mint, maxt, db.head.MinOOOTime(), db.head.MaxOOOTime())
|
overlapsOOO := overlapsClosedInterval(mint, maxt, db.head.MinOOOTime(), db.head.MaxOOOTime())
|
||||||
var headQuerier storage.ChunkQuerier
|
var headQuerier storage.ChunkQuerier
|
||||||
inoMint := mint
|
inoMint := max(db.head.MinTime(), mint)
|
||||||
if maxt >= db.head.MinTime() || overlapsOOO {
|
if maxt >= db.head.MinTime() || overlapsOOO {
|
||||||
rh := NewRangeHead(db.head, mint, maxt)
|
rh := NewRangeHead(db.head, mint, maxt)
|
||||||
headQuerier, err = db.blockChunkQuerierFunc(rh, mint, maxt)
|
headQuerier, err = db.blockChunkQuerierFunc(rh, mint, maxt)
|
||||||
|
|
Loading…
Reference in a new issue