This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch 4.9.x
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/4.9.x by this push:
new 3a6bf967b5 [ISSUE #7579] Fix globalWhiteRemoteAddressStrategy
cocurrent bug
3a6bf967b5 is described below
commit 3a6bf967b5b117218e94ab9ec443f6d1df9666e1
Author: Lei Zhiyuan <[email protected]>
AuthorDate: Fri Nov 24 10:55:11 2023 +0800
[ISSUE #7579] Fix globalWhiteRemoteAddressStrategy cocurrent bug
---
.../java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java
b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java
index fc8fd09594..26077135ec 100644
---
a/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java
+++
b/acl/src/main/java/org/apache/rocketmq/acl/plain/PlainPermissionManager.java
@@ -34,6 +34,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.commons.lang3.StringUtils;
@@ -66,7 +67,7 @@ public class PlainPermissionManager {
private Map<String/** AccessKey **/, String/** fileFullPath **/>
accessKeyTable = new HashMap<>();
- private List<RemoteAddressStrategy> globalWhiteRemoteAddressStrategy = new
ArrayList<>();
+ private List<RemoteAddressStrategy> globalWhiteRemoteAddressStrategy = new
CopyOnWriteArrayList<>();
private RemoteAddressStrategyFactory remoteAddressStrategyFactory = new
RemoteAddressStrategyFactory();
@@ -117,7 +118,7 @@ public class PlainPermissionManager {
Map<String, Map<String, PlainAccessResource>>
aclPlainAccessResourceMap = new HashMap<>();
Map<String, String> accessKeyTable = new HashMap<>();
- List<RemoteAddressStrategy> globalWhiteRemoteAddressStrategy = new
ArrayList<>();
+ List<RemoteAddressStrategy> globalWhiteRemoteAddressStrategy = new
CopyOnWriteArrayList<>();
Map<String, List<RemoteAddressStrategy>>
globalWhiteRemoteAddressStrategyMap = new HashMap<>();
Map<String, DataVersion> dataVersionMap = new HashMap<>();