[ 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