[
https://issues.apache.org/jira/browse/HBASE-30024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30024:
--------------------------------------
Description:
Description
Refactor CombinedBlockCache by extracting its tier orchestration logic into an
explicit TieredExclusiveTopology abstraction.
CombinedBlockCache currently combines multiple responsibilities, including:
• coordination between L1 (LruBlockCache) and L2 (BucketCache)
• routing of block lookups across tiers
• promotion of blocks from L2 to L1 on cache hit
• aggregation of cache metrics
This change separates these concerns by introducing TieredExclusiveTopology as
a dedicated orchestration layer.
Scope
• Introduce TieredExclusiveTopology implementing L1/L2
coordination
• Move logic from CombinedBlockCache into the topology layer,
including:
• lookup routing across tiers
• promotion/demotion behavior
• invalidation propagation
• metrics aggregation
• Adapt CombinedBlockCache to:
• delegate to TieredExclusiveTopology, or
• act as a temporary compatibility wrapper
Notes
• No behavior change intended — TieredExclusiveTopology should
preserve current CombinedBlockCache semantics
• Existing cache implementations (LruBlockCache, BucketCache)
remain unchanged
• This is a key step toward separating topology from storage
(CacheEngine) and policy
• Lays groundwork for future support of alternative topologies
(e.g., inclusive mode)
was:
Introduce a new BlockCacheEngine backed by CarrotCache.
Initial scope:
• L2 integration (L1 remains LruBlockCache)
• store HBase block payloads without format changes
• integrate with topology and policy layers
Motivation:
• significantly lower metadata overhead
• improved effective cache capacity
> Refactor CombinedBlockCache into explicit TieredExclusiveTopology
> -----------------------------------------------------------------
>
> Key: HBASE-30024
> URL: https://issues.apache.org/jira/browse/HBASE-30024
> Project: HBase
> Issue Type: New Feature
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> Description
> Refactor CombinedBlockCache by extracting its tier orchestration logic into
> an explicit TieredExclusiveTopology abstraction.
> CombinedBlockCache currently combines multiple responsibilities, including:
> • coordination between L1 (LruBlockCache) and L2 (BucketCache)
> • routing of block lookups across tiers
> • promotion of blocks from L2 to L1 on cache hit
> • aggregation of cache metrics
> This change separates these concerns by introducing TieredExclusiveTopology
> as a dedicated orchestration layer.
> Scope
> • Introduce TieredExclusiveTopology implementing L1/L2
> coordination
> • Move logic from CombinedBlockCache into the topology layer,
> including:
> • lookup routing across tiers
> • promotion/demotion behavior
> • invalidation propagation
> • metrics aggregation
> • Adapt CombinedBlockCache to:
> • delegate to TieredExclusiveTopology, or
> • act as a temporary compatibility wrapper
> Notes
> • No behavior change intended — TieredExclusiveTopology should
> preserve current CombinedBlockCache semantics
> • Existing cache implementations (LruBlockCache, BucketCache)
> remain unchanged
> • This is a key step toward separating topology from storage
> (CacheEngine) and policy
> • Lays groundwork for future support of alternative topologies
> (e.g., inclusive mode)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)