Reduce log level during WAL replay on overlapping m-map chunks
@@ -46,6 +46,8 @@ func (h *Head) loadWAL(r *wal.Reader, multiRef map[uint64]uint64, mmappedChunks
// for error reporting.
var unknownRefs atomic.Uint64
var unknownExemplarRefs atomic.Uint64
+ // Track number of series records that had overlapping m-map chunks.
+ var mmapOverlappingChunks uint64
// Start workers that each process samples for a partition of the series ID space.
// They are connected through a ring of channels which ensures that all sample batches
@@ -248,7 +250,8 @@ Outer:
mmc[0].minTime,
mmc[len(mmc)-1].maxTime,
) {
- level.Warn(h.logger).Log(
+ mmapOverlappingChunks++
+ level.Debug(h.logger).Log(
"msg", "M-mapped chunks overlap on a duplicate series record",
"series", mSeries.lset.String(),
"oldref", mSeries.ref,
@@ -356,6 +359,9 @@ Outer:
if unknownRefs.Load() > 0 || unknownExemplarRefs.Load() > 0 {
level.Warn(h.logger).Log("msg", "Unknown series references", "samples", unknownRefs.Load(), "exemplars", unknownExemplarRefs.Load())
}
+ if mmapOverlappingChunks > 0 {
+ level.Info(h.logger).Log("msg", "Overlapping m-map chunks on duplicate series records", "count", mmapOverlappingChunks)
+ }
return nil
}
