You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2021/03/04 07:30:22 UTC
[hbase] branch branch-1 updated: HBASE-25460 : Expose
drainingServers as cluster metric (#2994) (#2995)
This is an automated email from the ASF dual-hosted git repository.
vjasani pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1 by this push:
new c90d122 HBASE-25460 : Expose drainingServers as cluster metric (#2994) (#2995)
c90d122 is described below
commit c90d1226530a53040ae6fad9a6b560360b7ae42a
Author: Rahul Kumar <rk...@gmail.com>
AuthorDate: Thu Mar 4 12:48:57 2021 +0530
HBASE-25460 : Expose drainingServers as cluster metric (#2994) (#2995)
Signed-off-by: Viraj Jasani <vj...@apache.org>
---
.../hadoop/hbase/master/MetricsMasterSource.java | 4 ++++
.../hadoop/hbase/master/MetricsMasterWrapper.java | 14 ++++++++++++++
.../hadoop/hbase/master/MetricsMasterSourceImpl.java | 4 ++++
.../hadoop/hbase/master/MetricsMasterWrapperImpl.java | 18 ++++++++++++++++++
.../apache/hadoop/hbase/master/TestMasterMetrics.java | 1 +
5 files changed, 41 insertions(+)
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java
index eb00991..87665d7 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java
@@ -52,8 +52,10 @@ public interface MetricsMasterSource extends BaseSource {
String AVERAGE_LOAD_NAME = "averageLoad";
String LIVE_REGION_SERVERS_NAME = "liveRegionServers";
String DEAD_REGION_SERVERS_NAME = "deadRegionServers";
+ String DRAINING_REGION_SERVER_NAME = "draininigRegionServers";
String NUM_REGION_SERVERS_NAME = "numRegionServers";
String NUM_DEAD_REGION_SERVERS_NAME = "numDeadRegionServers";
+ String NUM_DRAINING_REGION_SERVERS_NAME = "numDrainingRegionServers";
String ZOOKEEPER_QUORUM_NAME = "zookeeperQuorum";
String SERVER_NAME_NAME = "serverName";
String CLUSTER_ID_NAME = "clusterId";
@@ -71,6 +73,8 @@ public interface MetricsMasterSource extends BaseSource {
String DEAD_REGION_SERVERS_DESC = "Names of dead RegionServers";
String NUMBER_OF_DEAD_REGION_SERVERS_DESC = "Number of dead RegionServers";
String ZOOKEEPER_QUORUM_DESC = "Zookeeper Quorum";
+ String DRAINING_REGION_SERVER_DESC = "Names of draining RegionServers";
+ String NUMBER_OF_DRAINING_REGION_SERVERS_DESC = "Number of draining RegionServers";
String SERVER_NAME_DESC = "Server Name";
String CLUSTER_ID_DESC = "Cluster Id";
String IS_ACTIVE_MASTER_DESC = "Is Active Master";
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java
index 6938e87..4ca5035 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapper.java
@@ -108,6 +108,20 @@ public interface MetricsMasterWrapper {
int getNumDeadRegionServers();
/**
+ * Get the draining region servers
+ *
+ * @return Draining region server
+ */
+ String getDrainingRegionServers();
+
+ /**
+ * Get the number of draining region servers
+ *
+ * @return number of draining region servers
+ */
+ int getNumDrainingRegionServers();
+
+ /**
* Get the number of master WAL files.
*/
long getNumWALFiles();
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 9e5c0d5..0fa648b 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
@@ -95,6 +95,10 @@ public class MetricsMasterSourceImpl
.addGauge(Interns.info(NUM_DEAD_REGION_SERVERS_NAME,
NUMBER_OF_DEAD_REGION_SERVERS_DESC),
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),
+ masterWrapper.getNumDrainingRegionServers())
.tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),
masterWrapper.getZookeeperQuorum())
.tag(Interns.info(SERVER_NAME_NAME, SERVER_NAME_DESC), masterWrapper.getServerName())
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java
index 1c06b2e..d15dccc 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java
@@ -121,6 +121,24 @@ public class MetricsMasterWrapperImpl implements MetricsMasterWrapper {
}
@Override
+ public String getDrainingRegionServers() {
+ ServerManager serverManager = this.master.getServerManager();
+ if (serverManager == null) {
+ return "";
+ }
+ return StringUtils.join(serverManager.getDrainingServersList() , ";");
+ }
+
+ @Override
+ public int getNumDrainingRegionServers() {
+ ServerManager serverManager = this.master.getServerManager();
+ if (serverManager == null) {
+ return 0;
+ }
+ return serverManager.getDrainingServersList().size();
+ }
+
+ @Override
public String getServerName() {
ServerName serverName = master.getServerName();
if (serverName == null) {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
index f6f9b49..554e36e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java
@@ -119,6 +119,7 @@ public class TestMasterMetrics {
metricsHelper.assertGauge( "numRegionServers", 1, masterSource);
metricsHelper.assertGauge( "averageLoad", 2, masterSource);
metricsHelper.assertGauge( "numDeadRegionServers", 0, masterSource);
+ metricsHelper.assertGauge("numDrainingRegionServers", 0, masterSource);
metricsHelper.assertGauge("masterStartTime", master.getMasterStartTime(), masterSource);
metricsHelper.assertGauge("masterActiveTime", master.getMasterActiveTime(), masterSource);