From 56280ead3a2d60459343c6e554159a2acf92257c Mon Sep 17 00:00:00 2001 From: ntysdd Date: Thu, 23 Jan 2020 12:40:14 +0800 Subject: [PATCH] Fix issue 5505 (#6060) --- .../pulsar/common/policies/data/TopicStats.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TopicStats.java b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TopicStats.java index 6f7fcc16e2d39..9962fa95ae383 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TopicStats.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/TopicStats.java @@ -121,7 +121,12 @@ public TopicStats add(TopicStats stats) { } } else { for (String subscription : stats.subscriptions.keySet()) { - this.subscriptions.get(subscription).add(stats.subscriptions.get(subscription)); + if (this.subscriptions.get(subscription) != null) { + this.subscriptions.get(subscription).add(stats.subscriptions.get(subscription)); + } else { + SubscriptionStats subscriptionStats = new SubscriptionStats(); + this.subscriptions.put(subscription, subscriptionStats.add(stats.subscriptions.get(subscription))); + } } } if (this.replication.size() != stats.replication.size()) { @@ -131,7 +136,12 @@ public TopicStats add(TopicStats stats) { } } else { for (String repl : stats.replication.keySet()) { - this.replication.get(repl).add(stats.replication.get(repl)); + if (this.replication.get(repl) != null) { + this.replication.get(repl).add(stats.replication.get(repl)); + } else { + ReplicatorStats replStats = new ReplicatorStats(); + this.replication.put(repl, replStats.add(stats.replication.get(repl))); + } } } return this;