HBASE-27032 The draining region servers metric description is incorrect (#4428)

Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
(cherry picked from commit ed1665355a)
This commit is contained in:
litao 2022-05-17 13:05:35 +08:00 committed by Pankaj
parent 5b319752de
commit 4f9896ebc0
2 changed files with 10 additions and 2 deletions

View File

@ -98,7 +98,8 @@ public class MetricsMasterSourceImpl extends BaseSourceImpl implements MetricsMa
masterWrapper.getNumDeadRegionServers())
.tag(Interns.info(DRAINING_REGION_SERVER_NAME, DRAINING_REGION_SERVER_DESC),
masterWrapper.getDrainingRegionServers())
.addGauge(Interns.info(NUM_DRAINING_REGION_SERVERS_NAME, NUMBER_OF_REGION_SERVERS_DESC),
.addGauge(
Interns.info(NUM_DRAINING_REGION_SERVERS_NAME, NUMBER_OF_DRAINING_REGION_SERVERS_DESC),
masterWrapper.getNumDrainingRegionServers())
.tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),
masterWrapper.getZookeeperQuorum())

View File

@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.master;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.util.AbstractMap.SimpleImmutableEntry;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
@ -59,7 +60,7 @@ public class TestMasterMetricsWrapper {
}
@Test
public void testInfo() {
public void testInfo() throws IOException {
HMaster master = TEST_UTIL.getHBaseCluster().getMaster();
MetricsMasterWrapperImpl info = new MetricsMasterWrapperImpl(master);
assertEquals(master.getRegionNormalizerManager().getSplitPlanCount(), info.getSplitPlanCount(),
@ -97,6 +98,12 @@ public class TestMasterMetricsWrapper {
// now we do not expose this information as WALProcedureStore is not the only ProcedureStore
// implementation any more.
assertEquals(0, info.getNumWALFiles());
// We decommission the first online region server and verify the metrics.
TEST_UTIL.getMiniHBaseCluster().getMaster().decommissionRegionServers(
master.getServerManager().getOnlineServersList().subList(0, 1), false);
assertEquals(1, info.getNumDrainingRegionServers());
assertEquals(master.getServerManager().getOnlineServersList().get(0).toString(),
info.getDrainingRegionServers());
}
@Test