You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by pa...@apache.org on 2022/05/17 05:18:36 UTC

[hbase] branch branch-2.4 updated: HBASE-27032 The draining region servers metric description is incorrect (#4428)

This is an automated email from the ASF dual-hosted git repository.

pankajkumar pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.4 by this push:
     new 4f9896ebc09 HBASE-27032 The draining region servers metric description is incorrect (#4428)
4f9896ebc09 is described below

commit 4f9896ebc09f5f5561520ac7d178569cdf411e08
Author: litao <to...@gmail.com>
AuthorDate: Tue May 17 13:05:35 2022 +0800

    HBASE-27032 The draining region servers metric description is incorrect (#4428)
    
    Signed-off-by: Xiaolin Ha <ha...@apache.org>
    Signed-off-by: Pankaj Kumar<pa...@apache.org>
    (cherry picked from commit ed1665355a221f9f36ce7c8905d9ed063c6e9eac)
---
 .../org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java  | 3 ++-
 .../org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java | 9 ++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
index 5e06f61082d..2dbdeff0dd4 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java
@@ -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())
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
index 7a1d05e5725..c37cbc77345 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
@@ -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