VladRodionov opened a new pull request, #8475:
URL: https://github.com/apache/hbase/pull/8475
### Summary
This PR adds a compatibility bridge from the existing `BlockCache` API to
the new `CacheEngine` abstraction.
`TieredExclusiveTopology` and `TopologyBackedCacheAccessService` operate on
`CacheEngine` instances, but the existing production cache implementations such
as `LruBlockCache`, `BucketCache`, `TinyLfuBlockCache`, and
`LruAdaptiveBlockCache` still implement `BlockCache`.
`BlockCacheBackedCacheEngine` allows these legacy cache implementations to
participate in topology-backed cache wiring before they are migrated to
implement `CacheEngine` directly.
This is an incremental migration step. It does not change production cache
wiring and does not remove or replace `CombinedBlockCache`.
### Changes
* Adds `BlockCacheBackedCacheEngine`, a `CacheEngine` adapter backed by an
existing `BlockCache`.
* Adds `CacheEngines` helper factory for creating `CacheEngine` instances
from legacy `BlockCache` instances.
* Adds unit tests for adapter delegation and null validation.
* Adds tests proving that `TopologyBackedCacheAccessService` can operate
through `TieredExclusiveTopology` using `BlockCache`-backed engines.
### Migration path
The new cache architecture is moving toward:
```text
CacheAccessService
-> CacheTopology
-> CacheEngine(s)
```
### AI assistance disclosure
This PR was prepared with assistance from ChatGPT. All changes were
reviewed, tested, and submitted by the author.
--
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]