You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by te...@apache.org on 2022/04/29 03:18:42 UTC

[pulsar] branch master updated: [improve][broker] Change unnecessary atomic to basic type. (#15369)

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

technoboy 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 4a21782115f [improve][broker] Change unnecessary atomic to basic type. (#15369)
4a21782115f is described below

commit 4a21782115f8e47501fb868a69af539d7893d9a3
Author: Kai Wang <kw...@streamnative.io>
AuthorDate: Fri Apr 29 11:18:36 2022 +0800

    [improve][broker] Change unnecessary atomic to basic type. (#15369)
---
 .../collections/ConcurrentSortedLongPairSet.java   | 35 +++++++++++-----------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/ConcurrentSortedLongPairSet.java b/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/ConcurrentSortedLongPairSet.java
index 06efd0490d1..da12c8603a7 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/ConcurrentSortedLongPairSet.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/util/collections/ConcurrentSortedLongPairSet.java
@@ -18,14 +18,13 @@
  */
 package org.apache.pulsar.common.util.collections;
 
+import java.util.Map;
 import java.util.NavigableMap;
 import java.util.NavigableSet;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.concurrent.ConcurrentSkipListMap;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
 import org.apache.pulsar.common.util.collections.ConcurrentLongPairSet.LongPair;
 import org.apache.pulsar.common.util.collections.ConcurrentLongPairSet.LongPairConsumer;
 
@@ -113,14 +112,16 @@ public class ConcurrentSortedLongPairSet implements LongPairSet {
 
     @Override
     public int removeIf(LongPairPredicate filter) {
-        AtomicInteger removedValues = new AtomicInteger(0);
-        longPairSets.forEach((item1, longPairSet) -> {
-            removedValues.addAndGet(longPairSet.removeIf(filter));
+        int removedValues = 0;
+        for (Map.Entry<Long, ConcurrentLongPairSet> entry : longPairSets.entrySet()) {
+            Long item1 = entry.getKey();
+            ConcurrentLongPairSet longPairSet = entry.getValue();
+            removedValues += longPairSet.removeIf(filter);
             if (longPairSet.isEmpty() && longPairSets.size() > maxAllowedSetOnRemove) {
                 longPairSets.remove(item1, longPairSet);
             }
-        });
-        return removedValues.get();
+        }
+        return removedValues;
     }
 
     @Override
@@ -199,20 +200,20 @@ public class ConcurrentSortedLongPairSet implements LongPairSet {
 
     @Override
     public long size() {
-        AtomicLong size = new AtomicLong(0);
-        longPairSets.forEach((item1, longPairSet) -> {
-            size.getAndAdd(longPairSet.size());
-        });
-        return size.get();
+        long size = 0;
+        for (Map.Entry<Long, ConcurrentLongPairSet> entry : longPairSets.entrySet()) {
+            size += entry.getValue().size();
+        }
+        return size;
     }
 
     @Override
     public long capacity() {
-        AtomicLong capacity = new AtomicLong(0);
-        longPairSets.forEach((item1, longPairSet) -> {
-            capacity.getAndAdd(longPairSet.capacity());
-        });
-        return capacity.get();
+        long capacity = 0;
+        for (Map.Entry<Long, ConcurrentLongPairSet> entry : longPairSets.entrySet()) {
+            capacity += entry.getValue().capacity();
+        }
+        return capacity;
     }
 
     @Override