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

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

commit 2f253c4dbb62f34895269e90619d4cf678dace45
Author: Gao Hongtao <[email protected]>
AuthorDate: Mon Sep 1 07:20:21 2025 +0800

    Refactor block tag handling in release and reset functions to ensure proper 
memory management. Removed redundant tag filter release logic and integrated 
filter checks during tag data release.
---
 banyand/internal/sidx/block.go | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/banyand/internal/sidx/block.go b/banyand/internal/sidx/block.go
index 5dfa535f..a584d73b 100644
--- a/banyand/internal/sidx/block.go
+++ b/banyand/internal/sidx/block.go
@@ -65,13 +65,6 @@ func releaseBlock(b *block) {
        if b == nil {
                return
        }
-       // Release tag filters back to pool
-       for _, tag := range b.tags {
-               if tag.filter != nil {
-                       releaseBloomFilter(tag.filter)
-               }
-               releaseTagData(tag)
-       }
        b.reset()
        blockPool.Put(b)
 }
@@ -86,8 +79,11 @@ func (b *block) reset() {
        b.data = b.data[:0]
 
        // Clear tag map but keep the map itself
-       for k := range b.tags {
-               releaseTagData(b.tags[k])
+       for k, tag := range b.tags {
+               if tag.filter != nil {
+                       releaseBloomFilter(tag.filter)
+               }
+               releaseTagData(tag)
                delete(b.tags, k)
        }
 }

Reply via email to