[
https://issues.apache.org/jira/browse/HBASE-30177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on HBASE-30177 started by Xiao Liu.
----------------------------------------
> Make block caching configurable for MOB compaction reads
> --------------------------------------------------------
>
> Key: HBASE-30177
> URL: https://issues.apache.org/jira/browse/HBASE-30177
> Project: HBase
> Issue Type: Improvement
> Components: mob, regionserver
> Reporter: Xiao Liu
> Assignee: Xiao Liu
> Priority: Major
> Fix For: 2.7.0, 3.0.0-beta-2, 2.5.15, 2.6.6
>
>
> {\{DefaultMobStoreCompactor}} currently resolves existing MOB reference cells
> with block caching enabled. During a user-triggered major MOB compaction,
> this can cause large amounts of MOB file data read by the background
> compaction task to be inserted into the RegionServer block cache.
> For large MOB-enabled tables, these compaction reads are often one-time reads
> over cold MOB files. Caching those blocks may evict hotter blocks used by
> foreground reads, reducing block cache hit ratio and increasing read latency
> while or after MOB compaction runs.
> This issue proposes adding a configuration option to control whether MOB
> compaction should cache blocks when resolving existing MOB references.
> Proposed configuration:
> {code:language=plaintext|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
> hbase.mob.compaction.cache.blocks
> {code}
> Default value:
> {code:language=plaintext|borderStyle=solid|theme=RDark|linenumbers=true|collapse=false}
> true
> {code}
> The default should remain \{{true}} to preserve the existing behavior.
> Operators that want to avoid block cache pollution from background MOB
> compaction reads can set it to \{{false}}.
> Scope:
> * Add a new MOB compaction-specific config.
> * Use the config in \{{DefaultMobStoreCompactor}} when calling
> \{{HMobStore.resolve}}.
> * Keep normal MOB reads and existing scan/get cache behavior unchanged.
> * Add unit tests for the default value and disabled configuration.
> This gives operators a way to reduce cache churn during large MOB compactions
> without changing the default behavior for existing deployments.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)