Vladimir Rodionov created HBASE-30380:
-----------------------------------------

             Summary: 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
             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)

Reply via email to