[ 
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)

Reply via email to