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

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

commit c40a0babda3ff68c3403f20f9d96309208284303
Author: Gao Hongtao <[email protected]>
AuthorDate: Wed Sep 24 07:24:29 2025 +0800

    Optimize buffer resizing in tagFamilyFilter unmarshal method to prevent 
unnecessary memory allocations.
---
 banyand/stream/tag_filter.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/banyand/stream/tag_filter.go b/banyand/stream/tag_filter.go
index c609e7d8..39fd3d8e 100644
--- a/banyand/stream/tag_filter.go
+++ b/banyand/stream/tag_filter.go
@@ -103,7 +103,8 @@ func (tff *tagFamilyFilter) reset() {
 
 func (tff tagFamilyFilter) unmarshal(tagFamilyMetadataBlock *dataBlock, 
metaReader, filterReader fs.Reader) {
        bb := bigValuePool.Generate()
-       bb.Buf = pkgbytes.ResizeExact(bb.Buf, int(tagFamilyMetadataBlock.size))
+       defer bigValuePool.Release(bb)
+       bb.Buf = pkgbytes.ResizeExact(bb.Buf[:0], 
int(tagFamilyMetadataBlock.size))
        fs.MustReadData(metaReader, int64(tagFamilyMetadataBlock.offset), 
bb.Buf)
        tfm := generateTagFamilyMetadata()
        defer releaseTagFamilyMetadata(tfm)
@@ -111,12 +112,11 @@ func (tff tagFamilyFilter) 
unmarshal(tagFamilyMetadataBlock *dataBlock, metaRead
        if err != nil {
                logger.Panicf("%s: cannot unmarshal tagFamilyMetadata: %v", 
metaReader.Path(), err)
        }
-       bigValuePool.Release(bb)
        for _, tm := range tfm.tagMetadata {
                if tm.filterBlock.size == 0 {
                        continue
                }
-               bb.Buf = pkgbytes.ResizeExact(bb.Buf, int(tm.filterBlock.size))
+               bb.Buf = pkgbytes.ResizeExact(bb.Buf[:0], 
int(tm.filterBlock.size))
                fs.MustReadData(filterReader, int64(tm.filterBlock.offset), 
bb.Buf)
                bf := generateBloomFilter()
                bf = decodeBloomFilter(bb.Buf, bf)

Reply via email to