Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-5867

Improve Compaction Throttle Default

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.95.0
    • Component/s: None
    • Labels:
      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

        1. ASF.LICENSE.NOT.GRANTED--D2943.1.patch
          4 kB
          Phabricator
        2. HBASE-5867-trunk.patch
          8 kB
          Nicolas Spiegelberg

          Issue Links

            Activity

              People

              • Assignee:
                nspiegelberg Nicolas Spiegelberg
                Reporter:
                nspiegelberg Nicolas Spiegelberg
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: