You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by et...@apache.org on 2020/03/13 14:25:09 UTC
[storm] branch master updated: [STORM-3598] Fix UI visualization
NullPointException
This is an automated email from the ASF dual-hosted git repository.
ethanli 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 99a1b96 [STORM-3598] Fix UI visualization NullPointException
new 4bc08c7 Merge pull request #3224 from Ethanlm/STORM-3598
99a1b96 is described below
commit 99a1b96368c080f1dc06c6d1b996f6bfa5aabc2b
Author: Ethan Li <et...@gmail.com>
AuthorDate: Wed Mar 11 11:38:14 2020 -0500
[STORM-3598] Fix UI visualization NullPointException
---
.../java/org/apache/storm/stats/StatsUtil.java | 24 ++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/storm-server/src/main/java/org/apache/storm/stats/StatsUtil.java b/storm-server/src/main/java/org/apache/storm/stats/StatsUtil.java
index acca1f9..717a8cc 100644
--- a/storm-server/src/main/java/org/apache/storm/stats/StatsUtil.java
+++ b/storm-server/src/main/java/org/apache/storm/stats/StatsUtil.java
@@ -1819,7 +1819,7 @@ public class StatsUtil {
}
/**
- * this method merges 2 two-level-deep maps, which is different from mergeWithSum, and we expect the two maps have the same keys.
+ * this method merges 2 two-level-deep maps.
*/
private static <K> Map<String, Map<K, List>> mergeWithAddPair(Map<String, Map<K, List>> m1,
Map<String, Map<K, List>> m2) {
@@ -1847,15 +1847,23 @@ public class StatsUtil {
for (K kk : mm1.keySet()) {
List seq1 = mm1.get(kk);
List seq2 = mm2.get(kk);
- List sums = new ArrayList();
- for (int i = 0; i < seq1.size(); i++) {
- if (seq1.get(i) instanceof Long) {
- sums.add(((Number) seq1.get(i)).longValue() + ((Number) seq2.get(i)).longValue());
- } else {
- sums.add(((Number) seq1.get(i)).doubleValue() + ((Number) seq2.get(i)).doubleValue());
+ if (seq1 == null && seq2 == null) {
+ continue;
+ } else if (seq1 == null) {
+ tmp.put(kk, seq2);
+ } else if (seq2 == null) {
+ tmp.put(kk, seq1);
+ } else {
+ List sums = new ArrayList();
+ for (int i = 0; i < seq1.size(); i++) {
+ if (seq1.get(i) instanceof Long) {
+ sums.add(((Number) seq1.get(i)).longValue() + ((Number) seq2.get(i)).longValue());
+ } else {
+ sums.add(((Number) seq1.get(i)).doubleValue() + ((Number) seq2.get(i)).doubleValue());
+ }
}
+ tmp.put(kk, sums);
}
- tmp.put(kk, sums);
}
ret.put(k, tmp);
}