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

junhao pushed a commit to branch cacheLess
in repository https://gitbox.apache.org/repos/asf/paimon.git

commit a04ac41ea9ff69897453dcbd518aadfceaff96f9
Author: 仟弋 <[email protected]>
AuthorDate: Tue Sep 3 15:27:00 2024 +0800

    [core] FileBasedBloomFilter should be pass private member to cache manager.
---
 .../src/main/java/org/apache/paimon/utils/FileBasedBloomFilter.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/paimon-common/src/main/java/org/apache/paimon/utils/FileBasedBloomFilter.java 
b/paimon-common/src/main/java/org/apache/paimon/utils/FileBasedBloomFilter.java
index f80ba301e..e384ceb03 100644
--- 
a/paimon-common/src/main/java/org/apache/paimon/utils/FileBasedBloomFilter.java
+++ 
b/paimon-common/src/main/java/org/apache/paimon/utils/FileBasedBloomFilter.java
@@ -58,12 +58,13 @@ public class FileBasedBloomFilter {
         // we should refresh cache in LRU, but we cannot refresh everytime, it 
is costly.
         // so we introduce a refresh count to reduce refresh
         if (accessCount == REFRESH_COUNT || filter.getMemorySegment() == null) 
{
+            final BloomFilter bloomFilter = filter;
             MemorySegment segment =
                     cacheManager.getPage(
                             CacheKey.forPosition(input.file(), readOffset, 
readLength),
                             key -> input.readPosition(readOffset, readLength),
-                            key -> filter.unsetMemorySegment());
-            filter.setMemorySegment(segment, 0);
+                            key -> bloomFilter.unsetMemorySegment());
+            bloomFilter.setMemorySegment(segment, 0);
             accessCount = 0;
         }
         return filter.testHash(hash);

Reply via email to