Class TestRegionNormalizerManagerConfigurationObserver

java.lang.Object
org.apache.hadoop.hbase.master.normalizer.TestRegionNormalizerManagerConfigurationObserver

Test that configuration changes are propagated to all children.
  • Field Details

    • CLASS_RULE

      public static final HBaseClassTestRule CLASS_RULE
    • testUtil

      private static final HBaseTestingUtility testUtil
    • rateLimitPattern

      private static final Pattern rateLimitPattern
    • conf

      private org.apache.hadoop.conf.Configuration conf
    • normalizer

      private org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizer normalizer
    • masterServices

      @Mock private org.apache.hadoop.hbase.master.MasterServices masterServices
    • stateStore

      @Mock private org.apache.hadoop.hbase.master.normalizer.RegionNormalizerStateStore stateStore
    • chore

      @Mock private org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore chore
    • queue

      @Mock private org.apache.hadoop.hbase.master.normalizer.RegionNormalizerWorkQueue<org.apache.hadoop.hbase.TableName> queue
    • worker

      private org.apache.hadoop.hbase.master.normalizer.RegionNormalizerWorker worker
    • configurationManager

      private org.apache.hadoop.hbase.conf.ConfigurationManager configurationManager
  • Constructor Details

  • Method Details

    • before

      public void before()
    • test

      public void test()
    • parseConfiguredRateLimit

      private static long parseConfiguredRateLimit(org.apache.hbase.thirdparty.com.google.common.util.concurrent.RateLimiter rateLimiter)
      The RateLimiter class does not publicly expose its currently configured rate. It does offer this information in the RateLimiter.toString() method. It's fragile, but parse this value. The alternative would be to track the value explicitly in the worker, and the associated coordination overhead paid at runtime. See the related note on RegionNormalizerWorker.getRateLimiter().