[
https://issues.apache.org/jira/browse/HBASE-5867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13261066#comment-13261066
]
Nicolas Spiegelberg commented on HBASE-5867:
--------------------------------------------
The most common type of compaction is compacting only flushed files. Assuming
that there is no compression (the default), then the common compaction size
should be:
{code}
minFiles * flushSize
{code}
The current idea is to support this operation and supporting a compaction with
1 previously-compacted file. Assuming no overlap, this size would be:
(minFiles-1) * flushSize + minFiles * flushSize ==>
{code}
2 * minFiles * flushSize - ε
{code}
> Improve Compaction Throttle Default
> -----------------------------------
>
> Key: HBASE-5867
> URL: https://issues.apache.org/jira/browse/HBASE-5867
> Project: HBase
> Issue Type: Improvement
> Reporter: Nicolas Spiegelberg
> Assignee: Nicolas Spiegelberg
> Priority: Minor
>
> We recently had a production issue where our compactions fell behind because
> our compaction throttle was improperly tuned and accidentally upgraded all
> compactions to the large pool. The default from HBASE-3877 makes 1 bad
> assumption: the default number of flushed files in a compaction. Currently
> the algorithm is:
> throttleSize ~= flushSize * 2
> This assumes that the basic compaction utilizes 3 files and that all 3 files
> are compressed. In this case, "hbase.hstore.compaction.min" == 6 && the
> values were not very compressible. Both conditions should be taken into
> consideration. As a default, it is less damaging for the large thread to be
> slightly higher than it needs to be versus having everything accidentally
> promoted.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira