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

Optionally limit the amount of plans executed in the Normalizer

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 2.6.0, 3.0.0-alpha-4, 2.5.2
    • Normalizer
    • None

    Description

      My company (Hubspot) is starting to use SimpleRegionNormalizer. We turn the normalizer switch on for 30 minutes each day, when our database traffic is at a low point. We're using theĀ hbase.normalizer.throughput.max_bytes_per_sec setting to create a rate limit. I've found that while the SimpleRegionNormalizer only produces new plans for 30 minutes each day, the plans often take many hours to execute. This leds to region splits, merges, and moves occurring in our HBase clusters during hours we'd prefer them not to.

      I propose a new setting hbase.normalizer.plans_size_limit.mb.

      This will allow HBase administrators to limit the number of plans processed by a run of RegionNormalizerWorker, by forcing it to stop processing new plans once the cumulative region size limits are exceeded. This will give you a way to limit approximately how long it takes to execute the plans. Because the current limit to execute plans is primarily determined by a per-byte rate limit, I propose that the new settings also work on a similar basis. This will make it feasible to reason about how your rate limit and your size limits interact.

      Attachments

        Issue Links

          Activity

            People

              charlesconnell Charles Connell
              charlesconnell Charles Connell
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: