You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ji...@apache.org on 2022/04/22 09:06:34 UTC

[pulsar] branch master updated: fix duplicate calculation for msgRateIn and msgThroughputIn in replication stats (#15062)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3e1176a6a04 fix duplicate calculation for msgRateIn and msgThroughputIn in replication stats (#15062)
3e1176a6a04 is described below

commit 3e1176a6a047d0949d241ae906d80f9302450a66
Author: Qiang Huang <HQ...@users.noreply.github.com>
AuthorDate: Fri Apr 22 17:06:27 2022 +0800

    fix duplicate calculation for msgRateIn and msgThroughputIn in replication stats (#15062)
---
 .../broker/stats/prometheus/NamespaceStatsAggregator.java   | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java
index 8c9f8e32715..116e2102ad3 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java
@@ -251,15 +251,18 @@ public class NamespaceStatsAggregator {
         }
 
         topic.getReplicators().forEach((cluster, replicator) -> {
-            AggregatedReplicationStats aggReplStats = stats.replicationStats.computeIfAbsent(cluster,
-                    k -> new AggregatedReplicationStats());
-
             ReplicatorStatsImpl replStats = replicator.getStats();
+            AggregatedReplicationStats aggReplStats = stats.replicationStats.get(replicator.getRemoteCluster());
+            if (aggReplStats == null) {
+                aggReplStats = new AggregatedReplicationStats();
+                stats.replicationStats.put(replicator.getRemoteCluster(), aggReplStats);
+                aggReplStats.msgRateIn = replStats.msgRateIn;
+                aggReplStats.msgThroughputIn = replStats.msgThroughputIn;
+            }
+
             aggReplStats.msgRateOut += replStats.msgRateOut;
             aggReplStats.msgThroughputOut += replStats.msgThroughputOut;
             aggReplStats.replicationBacklog += replStats.replicationBacklog;
-            aggReplStats.msgRateIn += replStats.msgRateIn;
-            aggReplStats.msgThroughputIn += replStats.msgThroughputIn;
             aggReplStats.msgRateExpired += replStats.msgRateExpired;
             aggReplStats.connectedCount += replStats.connected ? 1 : 0;
             aggReplStats.replicationDelayInSeconds += replStats.replicationDelayInSeconds;