fix: add logging to empty bloom (#13502)

pull/13507/head
Salva Corts 1 year ago committed by GitHub
parent bfa69556af
commit c263a681f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      pkg/bloomgateway/processor.go
  2. 17
      pkg/storage/bloom/v1/fuse.go

@ -167,7 +167,8 @@ func (p *processor) processBlock(_ context.Context, bq *bloomshipper.CloseableBl
iters = append(iters, it)
}
fq := blockQuerier.Fuse(iters, p.logger)
logger := log.With(p.logger, "block", bq.BlockRef.String())
fq := blockQuerier.Fuse(iters, logger)
start := time.Now()
err = fq.Run()

@ -299,15 +299,24 @@ func (fq *FusedQuerier) runSeries(schema Schema, series *SeriesWithOffsets, reqs
// Test each bloom individually
bloom := fq.bq.blooms.At()
for j, req := range reqs {
// TODO(owen-d): this is a stopgap to avoid filtering broken blooms until we find their cause.
// In the case we don't have any data in the bloom, don't filter any chunks.
if bloom.ScalableBloomFilter.Count() == 0 {
// TODO(owen-d): this is a stopgap to avoid filtering broken blooms until we find their cause.
// In the case we don't have any data in the bloom, don't filter any chunks.
if bloom.ScalableBloomFilter.Count() == 0 {
level.Warn(fq.logger).Log(
"msg", "Found bloom with no data",
"offset_page", offset.Page,
"offset_bytes", offset.ByteOffset,
)
for j := range reqs {
for k := range inputs[j].InBlooms {
inputs[j].found[k] = true
}
}
}
for j, req := range reqs {
// shortcut: series level removal
// we can skip testing chunk keys individually if the bloom doesn't match
// the query.

Loading…
Cancel
Save