JingsongLi opened a new pull request, #9663:
URL: https://github.com/apache/paimon/pull/9663

   ### Purpose
   
   Centralize cached file-page ownership in `CacheManager` so readers share a 
single authoritative cache. Remove reader-local page maps, detach evicted pages 
from the file index, and invalidate by page identity so an older invalidation 
cannot delete a concurrently loaded replacement.
   
   Reduce redundant work in SST lookups:
   
   - Read a block and its trailer together, cache the decoded range, and charge 
the complete retained allocation while avoiding the uncompressed heap copy.
   - Use non-loading cache probes on hits, preserve atomic loading on misses, 
and record accesses through Caffeine's normal eviction policy.
   - Probe resident Bloom filters without I/O and use cached data directly when 
the filter is absent. After admission rejection, choose cold reads using their 
cost and allow bounded retries so the same reader can recover when cache 
pressure eases.
   - Keep Bloom probes stateless with respect to page ownership and ensure 
reader cleanup attempts all relevant invalidations.
   
   ### Tests
   
   Passed 389 related tests on JDK 8, with zero failures, errors, or skipped 
tests. The standard Maven lifecycle also passed Checkstyle, Spotless, and 
Enforcer checks.
   
   ```sh
   mvn -o -pl paimon-common -DwildcardSuites=none \
     
'-Dtest=BlockCacheTest,CacheManager*Test,CaffeineCacheTest,SstFileReaderCacheTest,FileBasedBloomFilterTest,BloomFilterTest,BitSetTest,SortLookupStore*Test,LocalKvDb*Test,BTreeIndexReader*Test,BTreeThreadSafetyTest,LazyFilteredBTreeIndexReaderTest'
 test
   ```
   
   Regression coverage includes rejected-page cleanup, concurrent loading and 
invalidation, shared-reader reloads, heap/off-heap allocation accounting, CRC 
failure and retry, Bloom read costs, and recovery after rejected admission.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to