[
https://issues.apache.org/jira/browse/HBASE-28227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17791091#comment-17791091
]
Duo Zhang commented on HBASE-28227:
-----------------------------------
Could you open a PR for this change?
> Tables to which Stripe Compaction policy is applied cannot be forced to
> trigger Major Compaction.
> -------------------------------------------------------------------------------------------------
>
> Key: HBASE-28227
> URL: https://issues.apache.org/jira/browse/HBASE-28227
> Project: HBase
> Issue Type: Improvement
> Components: regionserver
> Affects Versions: 2.2.6
> Reporter: longping_jie
> Priority: Major
>
> There is a table and the Stripe Compaction strategy is applied. Each
> region has an average value of 40G and is divided into 8 Stripes. Each Stripe
> is 5G. The business deletes a large amount of data. Manually triggering major
> compaction on the entire table and a single region does not work and cannot
> be selected.
> After reading the source code, the merging strategy applied under each
> Stripe is ExploringCompactionPolicy. This strategy has a key point. It
> filters the Store file list of a single Stripe. In the candidate file list,
> as long as there is a file that is too large in size and meets the condition,
> fileSize > (totalFileSize - fileSize) * (hbase.hstore.compaction.ratio
> default value 1.2), files will not be filtered out to participate in major
> compaction.
> It is necessary to support a forced merging mechanism. For scenarios
> where a large amount of data is deleted, or where bulkload exists, you can
> explicitly pass in a parameter such as foreMajor when manually triggering the
> major, and then perform forced Major Compaction in Stripe units to support
> the data. Clean up.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)