You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Vladimir Rodionov (Jira)" <ji...@apache.org> on 2026/10/05 15:54:00 UTC

[jira] [Resolved] (HBASE-30380) Add configuration change propagation through CacheAccessService

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

Vladimir Rodionov resolved HBASE-30380.
---------------------------------------
    Resolution: Implemented

> Add configuration change propagation through CacheAccessService
> ---------------------------------------------------------------
>
>                 Key: HBASE-30380
>                 URL: https://issues.apache.org/jira/browse/HBASE-30380
>             Project: HBase
>          Issue Type: New Feature
>          Components: BlockCache
>            Reporter: Vladimir Rodionov
>            Assignee: Vladimir Rodionov
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1
>
>
> {{CacheConfig}} currently implements {{PropagatingConfigurationObserver}} and registers its legacy {{BlockCache}} instance as a child configuration observer.
> With the new pluggable block cache architecture, {{CacheAccessService}} is the primary cache abstraction and may be backed by native {{CacheEngine}} implementations that do not expose a legacy {{{}BlockCache{}}}.
> As a result, configuration changes must be propagated through {{CacheAccessService}} rather than through the legacy {{{}BlockCache{}}}compatibility reference.
> This change should make {{CacheAccessService}} participate in the HBase configuration propagation mechanism and ensure topology-backed services forward configuration changes to their underlying cache engines.
>  * Make {{CacheAccessService}} participate in {{{}PropagatingConfigurationObserver{}}}.
>  * Implement configuration propagation in {{{}TopologyBackedCacheAccessService{}}}.
>  * Propagate configuration changes to all engines in the active {{{}CacheTopology{}}}.
>  * Use the existing {{CacheEngine.onConfigurationChange(Configuration)}} hook.
>  * Update {{CacheConfig.registerChildren()}} / {{deregisterChildren()}} to register {{cacheAccessService}} instead of {{{}blockCache{}}}.
>  * Keep legacy {{BlockCache}} behavior working through {{{}BlockCacheBackedCacheEngine{}}}.
>  * Add tests for single-tier and tiered topologies.



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