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)
