From 1cf2c41bd703ac1a5e75f5ae1406fcca2afd1cce Mon Sep 17 00:00:00 2001 From: Aditya Ujeniya Date: Mon, 16 Feb 2026 18:21:45 +0100 Subject: [PATCH] Resize the buffers and put them into the pool --- pkg/metricstore/buffer.go | 5 +++-- pkg/metricstore/level.go | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/metricstore/buffer.go b/pkg/metricstore/buffer.go index 46eb5149..665d8012 100644 --- a/pkg/metricstore/buffer.go +++ b/pkg/metricstore/buffer.go @@ -237,9 +237,10 @@ func (b *buffer) free(t int64) (delme bool, n int) { n += m if delme { b.prev.next = nil - if cap(b.prev.data) == BufferCap { - bufferPool.Put(b.prev) + if cap(b.prev.data) != BufferCap { + b.prev.data = make([]schema.Float, 0, BufferCap) } + bufferPool.Put(b.prev) b.prev = nil } } diff --git a/pkg/metricstore/level.go b/pkg/metricstore/level.go index bfa0ddf0..85c2ba7b 100644 --- a/pkg/metricstore/level.go +++ b/pkg/metricstore/level.go @@ -189,9 +189,10 @@ func (l *Level) free(t int64) (int, error) { delme, m := b.free(t) n += m if delme { - if cap(b.data) == BufferCap { - bufferPool.Put(b) + if cap(b.data) != BufferCap { + b.data = make([]schema.Float, 0, BufferCap) } + bufferPool.Put(b) l.metrics[i] = nil } }