You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cn...@apache.org on 2014/10/04 06:04:00 UTC
git commit: HADOOP-11163. MetricsSystemImpl may miss a registered
source. Contributed by Chuan Liu.
Repository: hadoop
Updated Branches:
refs/heads/trunk c8212bacb -> 69c9af910
HADOOP-11163. MetricsSystemImpl may miss a registered source. Contributed by Chuan Liu.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/69c9af91
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/69c9af91
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/69c9af91
Branch: refs/heads/trunk
Commit: 69c9af91031f345d9511618877646b8756b17863
Parents: c8212ba
Author: cnauroth <cn...@apache.org>
Authored: Fri Oct 3 21:01:28 2014 -0700
Committer: cnauroth <cn...@apache.org>
Committed: Fri Oct 3 21:01:28 2014 -0700
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 2 ++
.../hadoop/metrics2/impl/MetricsSystemImpl.java | 2 +-
.../metrics2/impl/TestMetricsSystemImpl.java | 32 ++++++++++++++++++++
3 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/69c9af91/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index f26ad1b..531a8b3 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -927,6 +927,8 @@ Release 2.6.0 - UNRELEASED
HADOOP-11117 UGI HadoopLoginModule doesn't catch & wrap all
kerberos-related exceptions (stevel)
+ HADOOP-11163 MetricsSystemImpl may miss a registered source. (cnauroth)
+
Release 2.5.1 - 2014-09-05
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/69c9af91/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java
index 2107e68..baa75ab 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java
@@ -234,7 +234,7 @@ public class MetricsSystemImpl extends MetricsSystem implements MetricsSource {
}
// We want to re-register the source to pick up new config when the
// metrics system restarts.
- register(name, new AbstractCallback() {
+ register(finalName, new AbstractCallback() {
@Override public void postStart() {
registerSource(finalName, finalDesc, s);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/69c9af91/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java
index 0122045..d59e80b 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java
@@ -397,6 +397,24 @@ public class TestMetricsSystemImpl {
ms.shutdown();
}
+ @Test public void testRegisterSourceWithoutName() {
+ MetricsSystem ms = new MetricsSystemImpl();
+ TestSource ts = new TestSource("ts");
+ TestSource2 ts2 = new TestSource2("ts2");
+ ms.register(ts);
+ ms.register(ts2);
+ ms.init("TestMetricsSystem");
+ // if metrics source is registered without name,
+ // the class name will be used as the name
+ MetricsSourceAdapter sa = ((MetricsSystemImpl) ms)
+ .getSourceAdapter("TestSource");
+ assertNotNull(sa);
+ MetricsSourceAdapter sa2 = ((MetricsSystemImpl) ms)
+ .getSourceAdapter("TestSource2");
+ assertNotNull(sa2);
+ ms.shutdown();
+ }
+
private void checkMetricsRecords(List<MetricsRecord> recs) {
LOG.debug(recs);
MetricsRecord r = recs.get(0);
@@ -430,6 +448,20 @@ public class TestMetricsSystemImpl {
}
}
+ @Metrics(context="test")
+ private static class TestSource2 {
+ @Metric("C1 desc") MutableCounterLong c1;
+ @Metric("XXX desc") MutableCounterLong xxx;
+ @Metric("G1 desc") MutableGaugeLong g1;
+ @Metric("YYY desc") MutableGaugeLong yyy;
+ @Metric MutableRate s1;
+ final MetricsRegistry registry;
+
+ TestSource2(String recName) {
+ registry = new MetricsRegistry(recName);
+ }
+ }
+
private static String getPluginUrlsAsString() {
return "file:metrics2-test-plugin.jar";
}