commit | dbf73e16b1ea91b1de3dc96fa65481f03fd58bca | [log] [tgz] |
---|---|---|
author | zhangshuyan0 <81411509+zhangshuyan0@users.noreply.github.com> | Thu Aug 04 13:00:37 2022 +0800 |
committer | GitHub <noreply@github.com> | Thu Aug 04 13:00:37 2022 +0800 |
tree | b3c3b8899c705b83aa4de5f8ddcbdd2eb7fe19ef | |
parent | 8eebf40b1afcc834007c2492cb73cfbd27e62498 [diff] |
HADOOP-18364. All method metrics related to the RPC protocol should be initialized. (#4624). Contributed by Shuyan Zhang. Reviewed-by: Erik Krogen <xkrogen@apache.org> Reviewed-by: Chao Sun <sunchao@apache.org> Signed-off-by: He Xiaoqiao <hexiaoqiao@apache.org>
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableRatesWithAggregation.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableRatesWithAggregation.java index 4c5f0a8..60b33a8 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableRatesWithAggregation.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableRatesWithAggregation.java
@@ -72,7 +72,7 @@ return; } protocolCache.add(protocol); - for (Method method : protocol.getDeclaredMethods()) { + for (Method method : protocol.getMethods()) { String name = method.getName(); LOG.debug(name); addMetricIfNotExists(name);
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/metrics/TestNameNodeMetrics.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/metrics/TestNameNodeMetrics.java index aaedb82..4d472d7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/metrics/TestNameNodeMetrics.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/metrics/TestNameNodeMetrics.java
@@ -48,6 +48,9 @@ import java.util.EnumSet; import java.util.List; import java.util.Random; + +import org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer; +import org.apache.hadoop.ipc.metrics.RpcDetailedMetrics; import org.apache.hadoop.thirdparty.com.google.common.collect.ImmutableList; import org.slf4j.Logger; @@ -1128,4 +1131,14 @@ } } + + @Test + public void testNNRPCMetricIntegrity() { + RpcDetailedMetrics metrics = + ((NameNodeRpcServer) cluster.getNameNode() + .getRpcServer()).getClientRpcServer().getRpcDetailedMetrics(); + MetricsRecordBuilder rb = getMetrics(metrics.name()); + // CommitBlockSynchronizationNumOps should exist. + assertCounter("CommitBlockSynchronizationNumOps", 0L, rb); + } }