[
https://issues.apache.org/jira/browse/HBASE-30021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30021:
--------------------------------------
Description:
h2. Description
Introduce *CacheAccessService* as a unified entry point for block cache
interactions in HBase.
CacheAccessService abstracts cache operations currently performed directly via
*BlockCache*, including:
* block lookup on the read path
* cache population on read miss
* cache-on-write from *HFileWriter*
* prefetch and compaction-related cache population
* block invalidation (e.g., by HFile)
This abstraction decouples HBase read/write paths from the underlying cache
implementation and prepares the system for a pluggable cache architecture.
h3. Scope
* Define the *CacheAccessService* interface
* Introduce request/write/invalidation context objects as needed
* Provide an initial implementation that delegates to the existing *BlockCache*
* No migration of call sites in this ticket
h3. Notes
* No behavior change intended
* Existing BlockCache implementations (*LruBlockCache*, *BucketCache*,
*CombinedBlockCache*) remain unchanged
* This is an intermediate step toward replacing direct BlockCache usage with a
layered architecture:
** CacheAccessService → CacheTopology → CacheEngine
was:
Description
Introduce CacheAccessService as a unified entry point for block cache
interactions in HBase.
CacheAccessService abstracts cache operations currently performed directly via
BlockCache, including:
• block lookup on the read path
• cache population on read miss
• cache-on-write from HFile writer
• prefetch and compaction-related cache population
• block invalidation (e.g., by HFile)
This abstraction decouples HBase read/write paths from the underlying cache
implementation and prepares the system for a pluggable cache architecture.
Scope
• Define the CacheAccessService interface
• Introduce request/write/invalidation context objects as needed
• Provide an initial implementation that delegates to the
existing BlockCache
• No migration of call sites in this ticket
Notes
• No behavior change intended
• Existing BlockCache implementations (LruBlockCache,
BucketCache, CombinedBlockCache) remain unchanged
• This is an intermediate step toward replacing direct BlockCache
usage with a layered architecture (CacheAccessService → CacheTopology →
CacheEngine)
> Introduce CacheAccessService abstraction
> ----------------------------------------
>
> Key: HBASE-30021
> URL: https://issues.apache.org/jira/browse/HBASE-30021
> Project: HBase
> Issue Type: New Feature
> Components: BlockCache, Performance
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> h2. Description
> Introduce *CacheAccessService* as a unified entry point for block cache
> interactions in HBase.
> CacheAccessService abstracts cache operations currently performed directly
> via *BlockCache*, including:
> * block lookup on the read path
> * cache population on read miss
> * cache-on-write from *HFileWriter*
> * prefetch and compaction-related cache population
> * block invalidation (e.g., by HFile)
> This abstraction decouples HBase read/write paths from the underlying cache
> implementation and prepares the system for a pluggable cache architecture.
> h3. Scope
> * Define the *CacheAccessService* interface
> * Introduce request/write/invalidation context objects as needed
> * Provide an initial implementation that delegates to the existing
> *BlockCache*
> * No migration of call sites in this ticket
> h3. Notes
> * No behavior change intended
> * Existing BlockCache implementations (*LruBlockCache*, *BucketCache*,
> *CombinedBlockCache*) remain unchanged
> * This is an intermediate step toward replacing direct BlockCache usage with
> a layered architecture:
> ** CacheAccessService → CacheTopology → CacheEngine
--
This message was sent by Atlassian Jira
(v8.20.10#820010)