@Test
  public void testHonorsNormalizerTableSetting() throws Exception {
    final TableName tn1 = TableName.valueOf(name.getMethodName() + "1");
    final TableName tn2 = TableName.valueOf(name.getMethodName() + "2");
    final TableName tn3 = TableName.valueOf(name.getMethodName() + "3");

    try {
      final int tn1RegionCount = createTableBegsSplit(tn1, true, false);
      final int tn2RegionCount = createTableBegsSplit(tn2, false, false);
      final int tn3RegionCount = createTableBegsSplit(tn3, true, true);

      assertFalse(admin.normalizerSwitch(true).get());
      assertTrue(admin.normalize().get());
      waitForTableRegionCount(tn1, greaterThanOrEqualTo(tn1RegionCount + 1));

      // confirm that tn1 has (tn1RegionCount + 1) number of regions.
      // tn2 has tn2RegionCount number of regions because normalizer has not been enabled on it.
      // tn3 has tn3RegionCount number of regions because two plans are run:
      // 1. split one region to two
      // 2. merge two regions into one
      // and hence, total number of regions for tn3 remains same
      assertEquals(tn1 + " should have split.", tn1RegionCount + 1, getRegionCount(tn1));
      assertEquals(tn2 + " should not have split.", tn2RegionCount, getRegionCount(tn2));
      LOG.debug("waiting for t3 to settle...");
      waitForTableRegionCount(tn3, comparesEqualTo(tn3RegionCount));
    } finally {
      dropIfExists(tn1);
      dropIfExists(tn2);
      dropIfExists(tn3);
    }
  }
Test that disabling normalizer via table configuration is honored. There's no side-effect to
look for (other than a log message), so normalize two tables, one with the disabled setting,
and look for change in one and no change in the other.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java