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]

Reply via email to