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

earthchen pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.3 by this push:
     new 2170f0fa90 fix thread safety issue of ConsumerConfigurationListener 
(#15707)
2170f0fa90 is described below

commit 2170f0fa90d2dcd06ddc40c79a1015a6c29a6f00
Author: zrlw <[email protected]>
AuthorDate: Thu Sep 25 10:24:45 2025 +0800

    fix thread safety issue of ConsumerConfigurationListener (#15707)
---
 .../dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java       | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
index 0eb58fcf58..e8eb5561e6 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java
@@ -65,6 +65,7 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Collectors;
 
 import static 
org.apache.dubbo.common.constants.CommonConstants.APPLICATION_KEY;
@@ -711,7 +712,7 @@ public class ServiceDiscoveryRegistryDirectory<T> extends 
DynamicDirectory<T> {
     }
 
     private static class ConsumerConfigurationListener extends 
AbstractConfiguratorListener {
-        private final List<ServiceDiscoveryRegistryDirectory<?>> listeners = 
new ArrayList<>();
+        private final List<ServiceDiscoveryRegistryDirectory<?>> listeners = 
new CopyOnWriteArrayList<>();
 
         ConsumerConfigurationListener(ModuleModel moduleModel) {
             super(moduleModel);

Reply via email to