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

   ## Summary
   
   Adds dynamic sizing as an explicit capability of the CacheEngine 
architecture.
   
   This allows native cache engines and legacy BlockCache adapters to expose 
runtime resizing
   without adding resize operations to every CacheEngine implementation.
   
   ## Changes
   
   * Add `ResizableCacheEngine` extending `CacheEngine` with `setMaxSize(long)`.
   * Make `LruCacheEngine` implement `ResizableCacheEngine`, preserving its 
existing resize behavior.
   * Add `ResizableBlockCacheBackedCacheEngine` to preserve dynamic sizing when 
adapting a legacy
     `ResizableBlockCache`.
   * Update `CacheEngines` to select the resizable adapter when the underlying 
legacy cache implements
     `ResizableBlockCache`.
   * Add tests covering capability preservation and resize delegation.
   
   ## Scope
   
   This change only introduces and preserves the resize capability in the 
CacheEngine layer.
   
   It intentionally does not migrate `HeapMemoryManager` or `HRegionServer` to 
use
   `ResizableCacheEngine`. RegionServer cache ownership is still based on the 
legacy `BlockCache`
   interfaces and will be migrated separately as the 
CacheAccessService/CacheEngine architecture is
   adopted by the RegionServer.
   
   This keeps the change independent of the larger RegionServer ownership 
migration while ensuring
   that dynamic sizing capability is not lost during the transition from 
BlockCache implementations
   to native CacheEngine 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