HBase
  1. HBase
  2. HBASE-5867

Improve Compaction Throttle Default

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor 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.

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

        Issue Links

          Activity

          Jonathan Hsieh made changes -
          Link This issue is duplicated by HBASE-3743 [ HBASE-3743 ]
          stack made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          stack made changes -
          Fix Version/s 0.98.0 [ 12323143 ]
          stack made changes -
          Fix Version/s 0.98.0 [ 12323143 ]
          stack made changes -
          Fix Version/s 0.95.0 [ 12324094 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Sergey Shelukhin made changes -
          Link This issue relates to HBASE-7040 [ HBASE-7040 ]
          Nicolas Spiegelberg made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Resolution Fixed [ 1 ]
          Nicolas Spiegelberg made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Nicolas Spiegelberg made changes -
          Attachment HBASE-5867-trunk.patch [ 12525641 ]
          Phabricator made changes -
          Field Original Value New Value
          Attachment D2943.1.patch [ 12524321 ]
          Nicolas Spiegelberg created issue -

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development