You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/05/01 18:50:53 UTC

[hbase] branch branch-2.3 updated: HBASE-24199 Procedure related metrics is not consumed in the JMX metric (#1616)

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

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


The following commit(s) were added to refs/heads/branch-2.3 by this push:
     new 6147aeb  HBASE-24199 Procedure related metrics is not consumed in the JMX metric (#1616)
6147aeb is described below

commit 6147aebd00faa3cc9c44489367e2221693ca472f
Author: gkanade <ga...@gmail.com>
AuthorDate: Sat May 2 00:15:16 2020 +0530

    HBASE-24199 Procedure related metrics is not consumed in the JMX metric (#1616)
    
    
    Signed-off-by: stack <st...@apache.org>
---
 .../hbase/master/MetricsAssignmentManagerSourceImpl.java      | 11 +++++++++++
 .../hadoop/hbase/master/MetricsMasterProcSourceImpl.java      |  3 +++
 .../apache/hadoop/hbase/master/MetricsMasterSourceImpl.java   |  3 +++
 .../hadoop/hbase/master/TestAssignmentManagerMetrics.java     |  2 ++
 .../hadoop/hbase/master/TestClusterRestartFailover.java       |  9 +++++++++
 .../org/apache/hadoop/hbase/master/TestMasterMetrics.java     |  3 +++
 6 files changed, 31 insertions(+)

diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
index d623de9..59b3647 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java
@@ -21,6 +21,8 @@ package org.apache.hadoop.hbase.master;
 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
 import org.apache.hadoop.hbase.metrics.OperationMetrics;
 import org.apache.hadoop.metrics2.MetricHistogram;
+import org.apache.hadoop.metrics2.MetricsCollector;
+import org.apache.hadoop.metrics2.MetricsRecordBuilder;
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -157,4 +159,13 @@ public class MetricsAssignmentManagerSourceImpl
   public OperationMetrics getCloseMetrics() {
     return closeMetrics;
   }
+
+  @Override
+  public void getMetrics(MetricsCollector metricsCollector, boolean all) {
+    MetricsRecordBuilder metricsRecordBuilder = metricsCollector.addRecord(metricsName);
+    metricsRegistry.snapshot(metricsRecordBuilder, all);
+    if(metricsAdapter != null) {
+      metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+    }
+  }
 }
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
index c51cd10..69e7d79 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java
@@ -70,6 +70,9 @@ public class MetricsMasterProcSourceImpl
     }
 
     metricsRegistry.snapshot(metricsRecordBuilder, all);
+    if(metricsAdapter != null) {
+      metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+    }
   }
 
 }
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 c340f8e..b62ca2a 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
@@ -118,6 +118,9 @@ public class MetricsMasterSourceImpl
     }
 
     metricsRegistry.snapshot(metricsRecordBuilder, all);
+    if(metricsAdapter != null) {
+      metricsAdapter.snapshotAllMetrics(registry, metricsRecordBuilder);
+    }
   }
 
   @Override
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
index 6103de0..c1e16be 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java
@@ -161,6 +161,8 @@ public class TestAssignmentManagerMetrics {
       METRICS_HELPER.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_NAME, 1, amSource);
       METRICS_HELPER.assertGauge(MetricsAssignmentManagerSource.RIT_COUNT_OVER_THRESHOLD_NAME, 1,
         amSource);
+      METRICS_HELPER.assertCounter(MetricsAssignmentManagerSource.ASSIGN_METRIC_PREFIX
+        + "SubmittedCount", 2, amSource);
     }
   }
 }
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
index 0a83fa5..cd7ba6e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java
@@ -29,6 +29,7 @@ import java.util.concurrent.CountDownLatch;
 import java.util.stream.Collectors;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.CompatibilityFactory;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.StartMiniClusterOption;
@@ -41,6 +42,7 @@ import org.apache.hadoop.hbase.master.assignment.ServerStateNode;
 import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
 import org.apache.hadoop.hbase.procedure2.Procedure;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
+import org.apache.hadoop.hbase.test.MetricsAssertHelper;
 import org.apache.hadoop.hbase.testclassification.LargeTests;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
 import org.apache.hadoop.hbase.util.JVMClusterUtil;
@@ -58,6 +60,8 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
     HBaseClassTestRule.forClass(TestClusterRestartFailover.class);
 
   private static final Logger LOG = LoggerFactory.getLogger(TestClusterRestartFailover.class);
+  private static final MetricsAssertHelper metricsHelper =
+    CompatibilityFactory.getInstance(MetricsAssertHelper.class);
 
   private volatile static CountDownLatch SCP_LATCH;
   private static ServerName SERVER_FOR_TEST;
@@ -135,6 +139,11 @@ public class TestClusterRestartFailover extends AbstractTestRestartCluster {
     serverNode = UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates()
         .getServerNode(SERVER_FOR_TEST);
     assertNull("serverNode should be deleted after SCP finished", serverNode);
+
+    MetricsMasterSource masterSource = UTIL.getHBaseCluster().getMaster().getMasterMetrics()
+      .getMetricsSource();
+    metricsHelper.assertCounter(MetricsMasterSource.SERVER_CRASH_METRIC_PREFIX+"SubmittedCount",
+      4, masterSource);
   }
 
   private void setupCluster() throws Exception {
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 70bf623..6dc9b42 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
@@ -147,6 +147,9 @@ public class TestMasterMetrics {
     metricsHelper.assertTag("serverName", master.getServerName().toString(), masterSource);
     metricsHelper.assertTag("clusterId", master.getClusterId(), masterSource);
     metricsHelper.assertTag("zookeeperQuorum", master.getZooKeeper().getQuorum(), masterSource);
+
+    metricsHelper.assertCounter(MetricsMasterSource.SERVER_CRASH_METRIC_PREFIX+"SubmittedCount",
+      0, masterSource);
   }
 
   @Test