Repository navigation
HBASE-30383 Migrate RegionServer block cache ownership to CacheAccessService - #8801
Open
VladRodionov wants to merge 1 commit into
Open
VladRodionov wants to merge 1 commit into
VladRodionov wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR continues the BlockCache pluggable architecture work by migrating the remaining HBase callers from the legacy
BlockCacheAPI to the newCacheAccessService/CacheEngineabstractions.The goal is to remove direct dependencies on
BlockCachefrom HBase-facing code while preserving the existing cache behavior and compatibility.Changes
CacheAccessService.CacheEnginewhere required.CacheAccessServiceandCacheEngine.HBaseTestingUtilandHBaseTestingUtilitytest infrastructure to injectCacheAccessServiceinstead ofBlockCache.HeapMemoryManagerintegration to work with the appropriate resizable cache engine.BlockCache#getBlockCaches().CacheAccessService#getFullyCachedFiles()API.testPrefetchWhenDataTieringEnabledto 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
CacheEngineaccess limited to tests, diagnostics, topology-specific code, and places where per-tier behavior is required. Normal HBase read/write paths useCacheAccessService.Compatibility
Legacy cache implementations can still participate through the existing
BlockCache-to-CacheEngineadapters. 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 -DskipTestshbase-servertestPrefetchWhenDataTieringEnabled