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

Improve Compaction Throttle Default

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.95.0
    • 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

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

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: