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]