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

Vladimir Rodionov updated HBASE-30025:
--------------------------------------
    Description: 
h2. Description

Add support for an explicit *TieredInclusiveTopology* as an alternative cache 
topology for coordinating L1 and L2 cache tiers.

In an inclusive topology, blocks present in the upper tier (L1) are also 
retained in the lower tier (L2). This differs from the existing exclusive 
behavior (modeled by *TieredExclusiveTopology*), where a block resides in only 
one tier at a time.

h3. Scope

* Introduce *TieredInclusiveTopology* implementing L1/L2 coordination with 
inclusive semantics
* Implement lookup behavior:
** check L1 first, then L2 on miss
* Implement promotion behavior:
** on L2 hit, copy block into L1 while retaining it in L2
* Define eviction behavior:
** eviction from L1 does not affect L2
* Integrate with existing topology abstraction (*CacheTopology*)

h3. Notes

* No change to default behavior — *TieredExclusiveTopology* remains the default 
configuration
* Existing cache implementations (*LruBlockCache*, *BucketCache*) remain 
unchanged
* This topology is introduced primarily for flexibility and experimentation
* Enables evaluation of different trade-offs between:
** memory efficiency (exclusive)
** simplicity and stability (inclusive)

  was:
Description

Add support for an explicit TieredInclusiveTopology as an alternative cache 
topology for coordinating L1 and L2 cache tiers.

In an inclusive topology, blocks present in the upper tier (L1) are also 
retained in the lower tier (L2). This differs from the existing exclusive 
behavior (modeled by TieredExclusiveTopology), where a block resides in only 
one tier at a time.

Scope
        •       Introduce TieredInclusiveTopology implementing L1/L2 
coordination with inclusive semantics
        •       Implement lookup behavior:
        •       check L1 first, then L2 on miss
        •       Implement promotion behavior:
        •       on L2 hit, copy block into L1 while retaining it in L2
        •       Define eviction behavior:
        •       eviction from L1 does not affect L2
        •       Integrate with existing topology abstraction (CacheTopology)

Notes
        •       No change to default behavior — TieredExclusiveTopology remains 
the default configuration
        •       Existing cache implementations (LruBlockCache, BucketCache) 
remain unchanged
        •       This topology is introduced primarily for flexibility and 
experimentation
        •       Enables evaluation of different trade-offs between memory 
efficiency (exclusive) and simplicity/stability (inclusive)


> Add TieredInclusiveTopology support
> -----------------------------------
>
>                 Key: HBASE-30025
>                 URL: https://issues.apache.org/jira/browse/HBASE-30025
>             Project: HBase
>          Issue Type: New Feature
>          Components: BlockCache, Performance
>            Reporter: Vladimir Rodionov
>            Assignee: Vladimir Rodionov
>            Priority: Major
>
> h2. Description
> Add support for an explicit *TieredInclusiveTopology* as an alternative cache 
> topology for coordinating L1 and L2 cache tiers.
> In an inclusive topology, blocks present in the upper tier (L1) are also 
> retained in the lower tier (L2). This differs from the existing exclusive 
> behavior (modeled by *TieredExclusiveTopology*), where a block resides in 
> only one tier at a time.
> h3. Scope
> * Introduce *TieredInclusiveTopology* implementing L1/L2 coordination with 
> inclusive semantics
> * Implement lookup behavior:
> ** check L1 first, then L2 on miss
> * Implement promotion behavior:
> ** on L2 hit, copy block into L1 while retaining it in L2
> * Define eviction behavior:
> ** eviction from L1 does not affect L2
> * Integrate with existing topology abstraction (*CacheTopology*)
> h3. Notes
> * No change to default behavior — *TieredExclusiveTopology* remains the 
> default configuration
> * Existing cache implementations (*LruBlockCache*, *BucketCache*) remain 
> unchanged
> * This topology is introduced primarily for flexibility and experimentation
> * Enables evaluation of different trade-offs between:
> ** memory efficiency (exclusive)
> ** simplicity and stability (inclusive)



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

Reply via email to