[
https://issues.apache.org/jira/browse/HBASE-30106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Rodionov updated HBASE-30106:
--------------------------------------
Description:
h2. Description
Remove topology-specific assumptions from *BucketCache* to ensure it functions
as a pure *CacheEngine* without implicit knowledge of L1/L2 coordination or
higher-level cache behavior.
BucketCache currently contains assumptions tied to its use as an L2 cache in a
tiered setup (e.g., interaction patterns with L1, promotion expectations, and
coordination logic embedded outside a clear abstraction boundary). This change
isolates BucketCache as a storage layer and shifts orchestration
responsibilities to *CacheTopology* and decision-making to
*CachePlacementPolicy*.
h3. Scope
* Identify and remove topology-specific assumptions from BucketCache, including:
** implicit expectations about L1/L2 roles
** assumptions about promotion/demotion behavior
** coordination logic that belongs to topology layer
* Ensure BucketCache operates solely as a storage backend:
** block lookup
** block insertion (async write path)
** invalidation
** capacity management
** stats reporting
* Update integration points so that:
** all tier coordination is handled by CacheTopology
** placement and promotion decisions are handled by CachePlacementPolicy
h3. Notes
* No behavior change intended at system level
* Any topology-dependent behavior must be preserved via CacheTopology, not
within BucketCache
* This change follows the introduction of CacheEngine and CacheTopology
abstractions
* This is a cleanup/refinement step after adapting BucketCache to CacheEngine
* Expected outcome:
** clear separation between storage (BucketCache) and orchestration
(CacheTopology)
** improved extensibility for alternative cache engines
** removal of implicit coupling between L2 cache and higher-level logic
was:
h2. Description
Remove topology-specific assumptions from *BucketCache* to ensure it functions
as a pure *CacheEngine* without implicit knowledge of L1/L2 coordination or
higher-level cache behavior.
BucketCache currently contains assumptions tied to its use as an L2 cache in a
tiered setup (e.g., interaction patterns with L1, promotion expectations, and
coordination logic embedded outside a clear abstraction boundary). This change
isolates BucketCache as a storage layer and shifts orchestration
responsibilities to *CacheTopology* and decision-making to
*CachePlacementPolicy*.
h2. Scope
* Identify and remove topology-specific assumptions from BucketCache, including:
** implicit expectations about L1/L2 roles
** assumptions about promotion/demotion behavior
** coordination logic that belongs to topology layer
* Ensure BucketCache operates solely as a storage backend:
** block lookup
** block insertion (async write path)
** invalidation
** capacity management
** stats reporting
* Update integration points so that:
** all tier coordination is handled by CacheTopology
** placement and promotion decisions are handled by CachePlacementPolicy
h2. Notes
* No behavior change intended at system level
* Any topology-dependent behavior must be preserved via CacheTopology, not
within BucketCache
* This change follows the introduction of CacheEngine and CacheTopology
abstractions
* This is a cleanup/refinement step after adapting BucketCache to CacheEngine
* Expected outcome:
** clear separation between storage (BucketCache) and orchestration
(CacheTopology)
** improved extensibility for alternative cache engines
** removal of implicit coupling between L2 cache and higher-level logic
> Remove topology-specific assumptions from BucketCache
> -----------------------------------------------------
>
> Key: HBASE-30106
> URL: https://issues.apache.org/jira/browse/HBASE-30106
> Project: HBase
> Issue Type: New Feature
> Reporter: Vladimir Rodionov
> Assignee: Vladimir Rodionov
> Priority: Major
>
> h2. Description
> Remove topology-specific assumptions from *BucketCache* to ensure it
> functions as a pure *CacheEngine* without implicit knowledge of L1/L2
> coordination or higher-level cache behavior.
> BucketCache currently contains assumptions tied to its use as an L2 cache in
> a tiered setup (e.g., interaction patterns with L1, promotion expectations,
> and coordination logic embedded outside a clear abstraction boundary). This
> change isolates BucketCache as a storage layer and shifts orchestration
> responsibilities to *CacheTopology* and decision-making to
> *CachePlacementPolicy*.
> h3. Scope
> * Identify and remove topology-specific assumptions from BucketCache,
> including:
> ** implicit expectations about L1/L2 roles
> ** assumptions about promotion/demotion behavior
> ** coordination logic that belongs to topology layer
> * Ensure BucketCache operates solely as a storage backend:
> ** block lookup
> ** block insertion (async write path)
> ** invalidation
> ** capacity management
> ** stats reporting
> * Update integration points so that:
> ** all tier coordination is handled by CacheTopology
> ** placement and promotion decisions are handled by CachePlacementPolicy
> h3. Notes
> * No behavior change intended at system level
> * Any topology-dependent behavior must be preserved via CacheTopology, not
> within BucketCache
> * This change follows the introduction of CacheEngine and CacheTopology
> abstractions
> * This is a cleanup/refinement step after adapting BucketCache to CacheEngine
> * Expected outcome:
> ** clear separation between storage (BucketCache) and orchestration
> (CacheTopology)
> ** improved extensibility for alternative cache engines
> ** removal of implicit coupling between L2 cache and higher-level logic
--
This message was sent by Atlassian Jira
(v8.20.10#820010)