[
https://issues.apache.org/jira/browse/HBASE-30104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on HBASE-30104 started by Vladimir Rodionov.
-------------------------------------------------
> Refactor LruBlockCache to implement CacheEngine
> -----------------------------------------------
>
> Key: HBASE-30104
> URL: https://issues.apache.org/jira/browse/HBASE-30104
> Project: HBase
> Issue Type: New Feature
> Components: BlockCache
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> h2. Description
> Refactor LruBlockCache to implement the new *CacheEngine* abstraction as part
> of the pluggable block cache architecture.
> LruBlockCache is the current in-memory cache implementation for hot blocks
> and is a natural candidate for the first concrete CacheEngine migration
> because it primarily represents a storage backend rather than
> topology/orchestration logic.
> h3. Scope
> * Adapt LruBlockCache to implement CacheEngine
> * Map existing LruBlockCache operations to the new engine contract, including:
> ** block lookup
> ** block insertion
> ** invalidation
> ** capacity/usage reporting
> ** stats exposure
> * Preserve current local eviction behavior and memory management semantics
> * Keep integration with existing higher-level cache wiring unchanged where
> possible
> h3. Notes
> * No behavior change intended
> * LruBlockCache should preserve its current semantics for:
> ** in-memory caching
> ** eviction policy
> ** stats
> ** block lifecycle
> * This ticket does *not* include topology changes
> * This ticket does *not* include admission or placement policy changes
> * This is a storage-layer refactoring and a step toward separating:
> ** CacheEngine (storage)
> ** CacheTopology (orchestration)
> ** CachePlacementPolicy (decisions)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)