[
https://issues.apache.org/jira/browse/HBASE-30104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30104:
--------------------------------------
Description:
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)
was:
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.
h2. 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
h2. 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)
> 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)