Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
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.
Attachments
Attachments
Issue Links
- is duplicated by
-
HBASE-3743 Throttle major compaction
- Closed
- relates to
-
HBASE-7040 Port HBASE-5867 Improve Compaction Throttle Default to 0.94
- Closed