VladRodionov opened a new pull request, #8704:
URL: https://github.com/apache/hbase/pull/8704

   ## Summary
   
   Propagates runtime configuration changes through the CacheAccessService / 
CacheEngine
   architecture instead of relying on the legacy BlockCache compatibility 
reference.
   
   ## Changes
   
   * Make `CacheEngine` participate in HBase configuration updates via
     `ConfigurationObserver`, with a default no-op 
`onConfigurationChange(Configuration)`.
   * Add a default no-op configuration callback to `CacheAccessService`.
   * Implement configuration propagation in `TopologyBackedCacheAccessService`.
   * Forward configuration changes to every `CacheEngine` participating in the 
active
     `CacheTopology`.
   * Update `CacheConfig.registerChildren()` and `deregisterChildren()` to 
register the
     `CacheAccessService` rather than the legacy `BlockCache`.
   * Preserve legacy BlockCache configuration behavior through 
`BlockCacheBackedCacheEngine`.
   * Add tests for configuration propagation through single-tier and tiered 
topologies and
     CacheConfig child registration.
   
   ## Motivation
   
   `CacheAccessService` is now the primary cache abstraction and can be backed 
by native
   `CacheEngine` implementations which do not expose a legacy `BlockCache`.
   
   Registering only the legacy BlockCache with the configuration propagation 
mechanism would
   therefore bypass native cache engines.
   
   This change makes `CacheAccessService` the configuration propagation root 
for the cache
   subsystem:
   
       CacheConfig
           |
           v
       CacheAccessService
           |
           v
       CacheTopology
           |
           +--> CacheEngine
           +--> CacheEngine
   
   Legacy BlockCache implementations continue to receive configuration updates 
through
   `BlockCacheBackedCacheEngine`, avoiding duplicate registration and keeping 
the migration
   path compatible with existing cache implementations.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to