[
https://issues.apache.org/jira/browse/HBASE-30021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30021:
--------------------------------------
Description:
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)
was:
Introduce CacheAccessService as a unified entry point for:
• cache lookup (read path)
• cache population (read miss, write path, prefetch, compaction)
Refactor:
• HFileReaderImpl
• write path components (HFile writer, bloom/index writers)
Goal:
• remove topology-specific logic from read/write paths
• centralize cache interactions
No behavior change expected.
> 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
>
> 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)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)