[ 
https://issues.apache.org/jira/browse/HBASE-30024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Rodionov updated HBASE-30024:
--------------------------------------
    Description: 
h2. 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.

h3. 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

h3. 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 (*CacheTopology*)
** storage (*CacheEngine*)
** policy (*CachePlacementPolicy*)
* Lays groundwork for future support of alternative topologies (e.g., inclusive 
mode)

  was:
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)


> 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
>
> h2. 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.
> h3. 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
> h3. 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 (*CacheTopology*)
> ** storage (*CacheEngine*)
> ** policy (*CachePlacementPolicy*)
> * Lays groundwork for future support of alternative topologies (e.g., 
> inclusive mode)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to