From 0a26d84df105652489cb84379443b9efa0b40332 Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Tue, 25 Oct 2022 10:22:25 +0100 Subject: [PATCH] HADOOP-9946. NumAllSinks metrics shows lower value than NumActiveSinks (#5002) Reviewed-by: Akira Ajisaka --- .../org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java | 3 ++- .../org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 8837c02b99..6c5a71a708 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 @@ -280,7 +280,6 @@ T register(final String name, final String description, final T sink) { } return sink; } - allSinks.put(name, sink); if (config != null) { registerSink(name, description, sink); } @@ -301,6 +300,7 @@ synchronized void registerSink(String name, String desc, MetricsSink sink) { ? newSink(name, desc, sink, conf) : newSink(name, desc, sink, config.subset(SINK_KEY)); sinks.put(name, sa); + allSinks.put(name, sink); sa.start(); LOG.info("Registered sink "+ name); } @@ -508,6 +508,7 @@ private synchronized void configureSinks() { conf.getString(DESC_KEY, sinkName), conf); sa.start(); sinks.put(sinkName, sa); + allSinks.put(sinkName, sa.sink()); } catch (Exception e) { LOG.warn("Error creating sink '"+ sinkName +"'", e); } 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 5a1f1d1376..1e841a6865 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 @@ -438,6 +438,8 @@ private void checkMetricsRecords(List recs) { r = recs.get(1); assertTrue("NumActiveSinks should be 3", Iterables.contains(r.metrics(), new MetricGaugeInt(MsInfo.NumActiveSinks, 3))); + assertTrue("NumAllSinks should be 3", + Iterables.contains(r.metrics(), new MetricGaugeInt(MsInfo.NumAllSinks, 3))); } @Test