VladRodionov opened a new pull request, #8801: URL: https://github.com/apache/hbase/pull/8801
## Summary This PR continues the BlockCache pluggable architecture work by migrating the remaining HBase callers from the legacy `BlockCache` API to the new `CacheAccessService` / `CacheEngine` abstractions. The goal is to remove direct dependencies on `BlockCache` from HBase-facing code while preserving the existing cache behavior and compatibility. ## Changes - Migrated remaining RegionServer cache callers to `CacheAccessService`. - Updated cache-related RegionServer diagnostics and web UI code. - Preserved tier-specific L1/L2 diagnostics through `CacheEngine` where required. - Migrated cache-related tests to use `CacheAccessService` and `CacheEngine`. - Updated `HBaseTestingUtil` and `HBaseTestingUtility` test infrastructure to inject `CacheAccessService` instead of `BlockCache`. - Updated `HeapMemoryManager` integration to work with the appropriate resizable cache engine. - Migrated tests that previously accessed individual caches through `BlockCache#getBlockCaches()`. - Updated fully-cached-file checks to use the aggregate `CacheAccessService#getFullyCachedFiles()` API. - Fixed `testPrefetchWhenDataTieringEnabled` to re-read the current fully-cached-files state while waiting for asynchronous prefetch completion. `TopologyBackedCacheAccessService#getFullyCachedFiles()` returns an aggregate snapshot rather than a live backing map. This change intentionally keeps direct `CacheEngine` access limited to tests, diagnostics, topology-specific code, and places where per-tier behavior is required. Normal HBase read/write paths use `CacheAccessService`. ## Compatibility Legacy cache implementations can still participate through the existing `BlockCache`-to-`CacheEngine` adapters. This allows the migration to proceed incrementally without requiring all cache implementations to be converted at once. No user-visible behavior change is intended. ## Testing - `mvn package -DskipTests` - Cache-related unit tests in `hbase-server` - `testPrefetchWhenDataTieringEnabled` - Existing cache package tests -- 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]
