[
https://issues.apache.org/jira/browse/HBASE-30020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30020:
--------------------------------------
Description:
h2. Description
Introduce a policy layer responsible for cache admission and placement
decisions as part of the pluggable block cache architecture.
The policy layer encapsulates logic for:
* admission control (whether a block should be cached)
* tier placement (L1 vs L2)
* promotion decisions on cache hits
* representation decisions (e.g., compressed vs uncompressed)
h3. Scope
* Introduce *CachePlacementPolicy* abstraction
* Define supporting decision objects:
** *AdmissionDecision*
** *CacheTopologyView*
* Integrate policy into cache insertion ({{put(...)}}) path
* Ensure policy is invoked via *CacheTopology* / *CacheAccessService*
integration points
h3. Notes
* Initial implementation must preserve current HBase behavior
* No behavior change intended
* Existing cache implementations (*LruBlockCache*, *BucketCache*,
*CombinedBlockCache*) remain unchanged
* This change makes cache decisions explicit instead of being implicit in call
sites or topology logic
* Lays groundwork for future optimization and experimentation with admission
and placement strategies
was:
Introduce a policy layer responsible for:
• admission control (whether a block should be cached)
• tier placement (L1 vs L2)
• promotion decisions on cache hits
• representation decisions (compressed/uncompressed)
Add:
• CachePlacementPolicy
• AdmissionDecision
• CacheTopologyView
Integrate policy into cache insertion (put(...)) path.
Initial implementation must preserve current HBase behavior.
> introduce CachePlacementAdmissionPolicy API and wire it into topology with
> default behavior equivalent to current HBase behavior
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-30020
> URL: https://issues.apache.org/jira/browse/HBASE-30020
> Project: HBase
> Issue Type: New Feature
> Components: BlockCache, Performance
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> h2. Description
> Introduce a policy layer responsible for cache admission and placement
> decisions as part of the pluggable block cache architecture.
> The policy layer encapsulates logic for:
> * admission control (whether a block should be cached)
> * tier placement (L1 vs L2)
> * promotion decisions on cache hits
> * representation decisions (e.g., compressed vs uncompressed)
> h3. Scope
> * Introduce *CachePlacementPolicy* abstraction
> * Define supporting decision objects:
> ** *AdmissionDecision*
> ** *CacheTopologyView*
> * Integrate policy into cache insertion ({{put(...)}}) path
> * Ensure policy is invoked via *CacheTopology* / *CacheAccessService*
> integration points
> h3. Notes
> * Initial implementation must preserve current HBase behavior
> * No behavior change intended
> * Existing cache implementations (*LruBlockCache*, *BucketCache*,
> *CombinedBlockCache*) remain unchanged
> * This change makes cache decisions explicit instead of being implicit in
> call sites or topology logic
> * Lays groundwork for future optimization and experimentation with admission
> and placement strategies
--
This message was sent by Atlassian Jira
(v8.20.10#820010)