This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch bug/sidx
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 6558d2564efc6d13ab529085747c56096db5e1bf
Author: Gao Hongtao <[email protected]>
AuthorDate: Tue Sep 23 14:33:01 2025 +0800

    Refactor readData method in block.go to simplify buffer management and 
improve memory handling. Update snapshot.go to ensure correct removal logic in 
the remove method.
---
 banyand/internal/sidx/block.go    | 9 +--------
 banyand/internal/sidx/snapshot.go | 1 +
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/banyand/internal/sidx/block.go b/banyand/internal/sidx/block.go
index 85bd370e..c3202937 100644
--- a/banyand/internal/sidx/block.go
+++ b/banyand/internal/sidx/block.go
@@ -528,14 +528,7 @@ func (b *block) readUserKeys(sr *seqReaders, bm 
*blockMetadata) error {
 }
 
 func (b *block) readData(decoder *encoding.BytesBlockDecoder, sr *seqReaders, 
bm *blockMetadata) error {
-       bb := bigValuePool.Get()
-       if bb == nil {
-               bb = &bytes.Buffer{}
-       }
-       defer func() {
-               bb.Buf = bb.Buf[:0]
-               bigValuePool.Put(bb)
-       }()
+       bb := &bytes.Buffer{}
        bb.Buf = bytes.ResizeOver(bb.Buf[:0], int(bm.dataBlock.size))
        sr.data.mustReadFull(bb.Buf)
        dataBuf, err := zstd.Decompress(bb.Buf[:0], bb.Buf)
diff --git a/banyand/internal/sidx/snapshot.go 
b/banyand/internal/sidx/snapshot.go
index ce7cf6a6..809c0763 100644
--- a/banyand/internal/sidx/snapshot.go
+++ b/banyand/internal/sidx/snapshot.go
@@ -338,6 +338,7 @@ func (s *snapshot) remove(epoch uint64, toRemove 
map[uint64]struct{}) *snapshot
                if _, shouldRemove := toRemove[pw.ID()]; !shouldRemove {
                        if pw.acquire() {
                                result.parts = append(result.parts, pw)
+                               continue
                        }
                }
                pw.markForRemoval()

Reply via email to