From 29f476ce9c3a82724eb26868efabe8b5f6554cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Krajcsovits?= Date: Thu, 29 Aug 2024 15:27:36 +0200 Subject: [PATCH] Follow up PR 14729 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: György Krajcsovits --- tsdb/db_test.go | 2 ++ tsdb/ooo_head_read.go | 51 +------------------------------------- tsdb/ooo_head_read_test.go | 1 - 3 files changed, 3 insertions(+), 51 deletions(-) diff --git a/tsdb/db_test.go b/tsdb/db_test.go index 82d2c7705a..69f0fb2f40 100644 --- a/tsdb/db_test.go +++ b/tsdb/db_test.go @@ -6749,6 +6749,7 @@ func TestOOOHistogramCompactionWithCounterResets(t *testing.T) { } // Counter reset. s = addSample(int64(490), series1, 100000, histogram.UnknownCounterReset) + s = copyWithCounterReset(s, histogram.CounterReset) series1ExpSamplesPreCompact = append(series1ExpSamplesPreCompact, s) series1ExpSamplesPostCompact = append(series1ExpSamplesPostCompact, s) // Add some more samples after the counter reset. @@ -6773,6 +6774,7 @@ func TestOOOHistogramCompactionWithCounterResets(t *testing.T) { } // Counter reset. s = addSample(int64(300), series2, 100000, histogram.UnknownCounterReset) + s = copyWithCounterReset(s, histogram.CounterReset) series2ExpSamplesPreCompact = append(series2ExpSamplesPreCompact, s) series2ExpSamplesPostCompact = append(series2ExpSamplesPostCompact, s) // Add some more samples after the counter reset. diff --git a/tsdb/ooo_head_read.go b/tsdb/ooo_head_read.go index d26cec0200..1d897d5814 100644 --- a/tsdb/ooo_head_read.go +++ b/tsdb/ooo_head_read.go @@ -54,53 +54,6 @@ func NewHeadAndOOOIndexReader(head *Head, mint, maxt int64, lastGarbageCollected return &HeadAndOOOIndexReader{hr, lastGarbageCollectedMmapRef} } -type MultiChunk struct { - chunks []chunkenc.Chunk -} - -func (c MultiChunk) Iterator(it chunkenc.Iterator) chunkenc.Iterator { - switch len(c.chunks) { - case 0: - return chunkenc.NewNopIterator() - case 1: - return c.chunks[0].Iterator(it) - default: - iterators := make([]chunkenc.Iterator, 0, len(c.chunks)) - for _, chk := range c.chunks { - iterators = append(iterators, chk.Iterator(nil)) - } - return storage.ChainSampleIteratorFromIterators(it, iterators) - } -} - -func (c MultiChunk) Appender() (chunkenc.Appender, error) { - return nil, errors.New("not implemented") -} - -func (c MultiChunk) Bytes() []byte { - return nil -} - -func (c MultiChunk) Compact() { - // no-op -} - -func (c MultiChunk) Encoding() chunkenc.Encoding { - return chunkenc.EncNone -} - -func (c MultiChunk) NumSamples() int { - sum := 0 - for _, chk := range c.chunks { - sum += chk.NumSamples() - } - return sum -} - -func (c MultiChunk) Reset([]byte) { - // no-op -} - func (oh *HeadAndOOOIndexReader) Series(ref storage.SeriesRef, builder *labels.ScratchBuilder, chks *[]chunks.Meta) error { s := oh.head.series.getByID(chunks.HeadSeriesRef(ref)) @@ -148,16 +101,14 @@ func getOOOSeriesChunks(s *memSeries, mint, maxt int64, lastGarbageCollectedMmap if c.OverlapsClosedInterval(mint, maxt) && maxMmapRef == 0 { ref := chunks.ChunkRef(chunks.NewHeadChunkRef(s.ref, s.oooHeadChunkID(len(s.ooo.oooMmappedChunks)))) if len(c.chunk.samples) > 0 { // Empty samples happens in tests, at least. - headChunks := MultiChunk{} chks, err := s.ooo.oooHeadChunk.chunk.ToEncodedChunks(c.minTime, c.maxTime) if err != nil { handleChunkWriteError(err) return nil } for _, chk := range chks { - headChunks.chunks = append(headChunks.chunks, chk.chunk) + addChunk(chk.minTime, chk.maxTime, ref, chk.chunk) } - addChunk(c.minTime, c.maxTime, ref, headChunks) } else { var emptyChunk chunkenc.Chunk addChunk(c.minTime, c.maxTime, ref, emptyChunk) diff --git a/tsdb/ooo_head_read_test.go b/tsdb/ooo_head_read_test.go index 581da60403..37e3fe4d37 100644 --- a/tsdb/ooo_head_read_test.go +++ b/tsdb/ooo_head_read_test.go @@ -33,7 +33,6 @@ import ( // Type assertions. var ( - _ chunkenc.Chunk = &MultiChunk{} _ chunkenc.Iterable = &mergedOOOChunks{} _ IndexReader = &HeadAndOOOIndexReader{} )