Follow up PR 14729
Some checks are pending
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
This commit is contained in:
György Krajcsovits 2024-08-29 15:27:36 +02:00
parent bab51673c1
commit 29f476ce9c
3 changed files with 3 additions and 51 deletions

View file

@ -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.

View file

@ -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)

View file

@ -33,7 +33,6 @@ import (
// Type assertions.
var (
_ chunkenc.Chunk = &MultiChunk{}
_ chunkenc.Iterable = &mergedOOOChunks{}
_ IndexReader = &HeadAndOOOIndexReader{}
)