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