You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Vladimir Rodionov (Jira)" <ji...@apache.org> on 2026/04/23 00:02:00 UTC
[jira] [Updated] (HBASE-30108) Deprecate and remove legacy BlockCache abstraction
[ https://issues.apache.org/jira/browse/HBASE-30108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Rodionov updated HBASE-30108:
--------------------------------------
Description:
h2. Description
Deprecate and remove the legacy *BlockCache* abstraction after migration to the new layered cache architecture.
The new architecture separates cache responsibilities into explicit layers:
* *CacheAccessService* — HBase-facing API for read/write cache access
* *CacheTopology* — L1/L2 orchestration and invalidation propagation
* *CachePlacementPolicy* — admission, placement, representation, and promotion decisions
* *CacheEngine* — concrete storage backends
Once core call sites and built-in implementations have been migrated to the new abstractions, the legacy BlockCache interface becomes redundant and should be retired.
h2. Scope
* Mark *BlockCache* as deprecated once all critical internal call sites have been migrated
* Remove remaining direct BlockCache usage from:
** read path
** write path
** prefetch / compaction cache population
** invalidation paths
* Remove temporary adapters / bridges introduced for migration
* Remove legacy BlockCache-based integration points that are no longer needed
* Ensure the system is fully wired through:
** CacheAccessService
** CacheTopology
** CachePlacementPolicy
** CacheEngine
h2. Notes
* This ticket should be scheduled only after:
** CacheAccessService has replaced BlockCache at core call sites
** CombinedBlockCache responsibilities have been migrated into CacheTopology
** LruBlockCache and BucketCache have been refactored into CacheEngine implementations
* No intentional behavior change is expected at the system level
* This is the final cleanup step completing the migration away from BlockCache
* Expected outcome:
** removal of the legacy monolithic cache abstraction
** cleaner separation of concerns
** simpler support for alternative cache engines and topologies
> Deprecate and remove legacy BlockCache abstraction
> --------------------------------------------------
>
> Key: HBASE-30108
> URL: https://issues.apache.org/jira/browse/HBASE-30108
> Project: HBase
> Issue Type: New Feature
> Components: BlockCache, Performance
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> h2. Description
> Deprecate and remove the legacy *BlockCache* abstraction after migration to the new layered cache architecture.
> The new architecture separates cache responsibilities into explicit layers:
> * *CacheAccessService* — HBase-facing API for read/write cache access
> * *CacheTopology* — L1/L2 orchestration and invalidation propagation
> * *CachePlacementPolicy* — admission, placement, representation, and promotion decisions
> * *CacheEngine* — concrete storage backends
> Once core call sites and built-in implementations have been migrated to the new abstractions, the legacy BlockCache interface becomes redundant and should be retired.
> h2. Scope
> * Mark *BlockCache* as deprecated once all critical internal call sites have been migrated
> * Remove remaining direct BlockCache usage from:
> ** read path
> ** write path
> ** prefetch / compaction cache population
> ** invalidation paths
> * Remove temporary adapters / bridges introduced for migration
> * Remove legacy BlockCache-based integration points that are no longer needed
> * Ensure the system is fully wired through:
> ** CacheAccessService
> ** CacheTopology
> ** CachePlacementPolicy
> ** CacheEngine
> h2. Notes
> * This ticket should be scheduled only after:
> ** CacheAccessService has replaced BlockCache at core call sites
> ** CombinedBlockCache responsibilities have been migrated into CacheTopology
> ** LruBlockCache and BucketCache have been refactored into CacheEngine implementations
> * No intentional behavior change is expected at the system level
> * This is the final cleanup step completing the migration away from BlockCache
> * Expected outcome:
> ** removal of the legacy monolithic cache abstraction
> ** cleaner separation of concerns
> ** simpler support for alternative cache engines and topologies
--
This message was sent by Atlassian Jira
(v8.20.10#820010)