You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by ag...@apache.org on 2021/10/21 21:03:41 UTC

[storm] branch master updated: STORM-3801 newWorkerEvent no longer uses IMetric (#3418)

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

agresch pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/storm.git


The following commit(s) were added to refs/heads/master by this push:
     new 159a661  STORM-3801 newWorkerEvent no longer uses IMetric (#3418)
159a661 is described below

commit 159a66199d086cf09fb1d1cb527287a3cd554be9
Author: agresch <ag...@gmail.com>
AuthorDate: Thu Oct 21 16:03:30 2021 -0500

    STORM-3801 newWorkerEvent no longer uses IMetric (#3418)
---
 .../src/jvm/org/apache/storm/metric/SystemBolt.java    | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/storm-client/src/jvm/org/apache/storm/metric/SystemBolt.java b/storm-client/src/jvm/org/apache/storm/metric/SystemBolt.java
index 29f1219..fd810c2 100644
--- a/storm-client/src/jvm/org/apache/storm/metric/SystemBolt.java
+++ b/storm-client/src/jvm/org/apache/storm/metric/SystemBolt.java
@@ -75,13 +75,12 @@ public class SystemBolt implements IBolt {
 
     // newWorkerEvent: 1 when a worker is first started and 0 all other times.
     // This can be used to tell when a worker has crashed and is restarted.
-    private class NewWorkerImetric implements IMetric {
-        boolean doEvent = true;
+    private class NewWorkerMetric {
+        boolean newWorker = true;
 
-        @Override
-        public Object getValueAndReset() {
-            if (doEvent) {
-                doEvent = false;
+        public int getValueAndReset() {
+            if (newWorker) {
+                newWorker = false;
                 return 1;
             } else {
                 return 0;
@@ -91,9 +90,10 @@ public class SystemBolt implements IBolt {
 
     // allow reporting new worker metric for multiple reporters if they support getValueForReporter().
     private class NewWorkerGauge extends PerReporterGauge<Integer> {
-        private final NewWorkerImetric defaultValue = new NewWorkerImetric();
-        private final Map<Object, NewWorkerImetric> reporterValues = new HashMap<>();
+        private final NewWorkerMetric defaultValue = new NewWorkerMetric();
+        private final Map<Object, NewWorkerMetric> reporterValues = new HashMap<>();
 
+        // reporting this value will not be accurate for multiple reporters
         @Override
         public Integer getValue() {
             return (Integer) defaultValue.getValueAndReset();
@@ -101,7 +101,7 @@ public class SystemBolt implements IBolt {
 
         @Override
         public Integer getValueForReporter(Object reporter) {
-            return (Integer) reporterValues.computeIfAbsent(reporter, (rep) -> new NewWorkerImetric()).getValueAndReset();
+            return (Integer) reporterValues.computeIfAbsent(reporter, (rep) -> new NewWorkerMetric()).getValueAndReset();
         }
     }