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();
}
}