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:23:42 UTC
[hbase] branch branch-2.2 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-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.2 by this push:
new e5f32be HBASE-25460 : Expose drainingServers as cluster metric (#2994) (#2995)
e5f32be is described below
commit e5f32beff3d6fa3f985f65e344447b9fcc50c915
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 dcfc600..3bf2fdd 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
@@ -55,8 +55,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";
@@ -73,6 +75,8 @@ public interface MetricsMasterSource extends BaseSource {
String NUMBER_OF_REGION_SERVERS_DESC = "Number of RegionServers";
String DEAD_REGION_SERVERS_DESC = "Names of dead RegionServers";
String NUMBER_OF_DEAD_REGION_SERVERS_DESC = "Number of dead RegionServers";
+ String DRAINING_REGION_SERVER_DESC = "Names of draining RegionServers";
+ String NUMBER_OF_DRAINING_REGION_SERVERS_DESC = "Number of draining RegionServers";
String ZOOKEEPER_QUORUM_DESC = "ZooKeeper Quorum";
String SERVER_NAME_DESC = "Server Name";
String CLUSTER_ID_DESC = "Cluster Id";
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 e6b2bc5..5e4297b 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
@@ -113,6 +113,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 0437b851..78a5069 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
@@ -106,6 +106,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 6a9b572..53f1d40 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
@@ -130,6 +130,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 6dc9b42..5116933 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
@@ -139,6 +139,7 @@ public class TestMasterMetrics {
metricsHelper.assertGauge( "numRegionServers",1 + (tablesOnMaster? 1: 0), masterSource);
metricsHelper.assertGauge( "averageLoad", 1 + (tablesOnMaster? 0: 1), masterSource);
metricsHelper.assertGauge( "numDeadRegionServers", 0, masterSource);
+ metricsHelper.assertGauge("numDrainingRegionServers", 0, masterSource);
metricsHelper.assertGauge("masterStartTime", master.getMasterStartTime(), masterSource);
metricsHelper.assertGauge("masterActiveTime", master.getMasterActiveTime(), masterSource);