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

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


The following commit(s) were added to refs/heads/3.0 by this push:
     new cd22199  Some configuration working at the consumer cluster, we should 
not override by the configuration of provider cluster. (#9163)
cd22199 is described below

commit cd221993aa07391419a255cb39f02ad7366922e7
Author: Wang Chengming <[email protected]>
AuthorDate: Sun Oct 31 15:27:36 2021 +0800

    Some configuration working at the consumer cluster, we should not override 
by the configuration of provider cluster. (#9163)
---
 .../client/ServiceDiscoveryRegistryDirectory.java  | 26 ------------------
 .../registry/integration/DynamicDirectory.java     |  7 +++--
 .../registry/integration/RegistryDirectory.java    | 31 +++-------------------
 3 files changed, 7 insertions(+), 57 deletions(-)

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 ab5c47f..37c20ab 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
@@ -165,35 +165,9 @@ public class ServiceDiscoveryRegistryDirectory<T> extends 
DynamicDirectory<T> {
     // RefreshOverrideAndInvoker will be executed by registryCenter and 
configCenter, so it should be synchronized.
     private synchronized void refreshOverrideAndInvoker(List<URL> 
instanceUrls) {
         // mock zookeeper://xxx?mock=return null
-        if (enableConfigurationListen) {
-            overrideDirectoryUrl();
-        }
         refreshInvoker(instanceUrls);
     }
 
-    // TODO: exact
-    private void overrideDirectoryUrl() {
-        // merge override parameters
-        this.overrideDirectoryUrl = directoryUrl;
-        List<Configurator> localAppDynamicConfigurators = 
getConsumerConfigurationListener(moduleModel).getConfigurators(); // local 
reference
-        doOverrideUrl(localAppDynamicConfigurators);
-        if (referenceConfigurationListener != null) {
-            List<Configurator> localDynamicConfigurators = 
referenceConfigurationListener.getConfigurators(); // local reference
-            doOverrideUrl(localDynamicConfigurators);
-        }
-    }
-
-    private void doOverrideUrl(List<Configurator> configurators) {
-        if (CollectionUtils.isNotEmpty(configurators)) {
-            for (Configurator configurator : configurators) {
-                this.overrideDirectoryUrl = 
configurator.configure(overrideDirectoryUrl);
-                Map<String, String> newParams = new 
HashMap<>(this.overrideDirectoryUrl.getParameters());
-                directoryUrl.getParameters().forEach(newParams::remove);
-                this.overrideQueryMap = newParams;
-            }
-        }
-    }
-
     private InstanceAddressURL overrideWithConfigurator(InstanceAddressURL 
providerUrl) {
         // override url with configurator from "app-name.configurators"
         providerUrl = 
overrideWithConfigurators(getConsumerConfigurationListener(moduleModel).getConfigurators(),
 providerUrl);
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/DynamicDirectory.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/DynamicDirectory.java
index 10a9373..f7339d7 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/DynamicDirectory.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/DynamicDirectory.java
@@ -92,7 +92,6 @@ public abstract class DynamicDirectory<T> extends 
AbstractDirectory<T> implement
     /**
      * Initialization at construction time, assertion not null, and always 
assign not null value
      */
-    protected volatile URL overrideDirectoryUrl;
     protected volatile URL subscribeUrl;
     protected volatile URL registeredConsumerUrl;
 
@@ -129,7 +128,7 @@ public abstract class DynamicDirectory<T> extends 
AbstractDirectory<T> implement
         this.serviceType = serviceType;
         this.serviceKey = super.getConsumerUrl().getServiceKey();
 
-        this.overrideDirectoryUrl = this.directoryUrl = consumerUrl;
+        this.directoryUrl = consumerUrl;
         String group = directoryUrl.getGroup("");
         this.multiGroup = group != null && (ANY_VALUE.equals(group) || 
group.contains(","));
     }
@@ -207,7 +206,7 @@ public abstract class DynamicDirectory<T> extends 
AbstractDirectory<T> implement
      */
     @Override
     public URL getConsumerUrl() {
-        return this.overrideDirectoryUrl;
+        return this.consumerUrl;
     }
 
     /**
@@ -216,7 +215,7 @@ public abstract class DynamicDirectory<T> extends 
AbstractDirectory<T> implement
      * @return URL
      */
     public URL getOriginalConsumerUrl() {
-        return this.overrideDirectoryUrl;
+        return this.consumerUrl;
     }
 
     /**
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
index 2257245..9711f14 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
@@ -183,7 +183,6 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
     // RefreshOverrideAndInvoker will be executed by registryCenter and 
configCenter, so it should be synchronized.
     private synchronized void refreshOverrideAndInvoker(List<URL> urls) {
         // mock zookeeper://xxx?mock=return null
-        overrideDirectoryUrl();
         refreshInvoker(urls);
     }
 
@@ -406,7 +405,6 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
         // FIXME, kept for mock
         if (providerUrl.hasParameter(MOCK_KEY) || 
providerUrl.getAnyMethodParameter(MOCK_KEY) != null) {
             providerUrl = providerUrl.removeParameter(TAG_KEY);
-            this.overrideDirectoryUrl = 
this.overrideDirectoryUrl.addParametersIfAbsent(providerUrl.getParameters());
         }
 
         if ((providerUrl.getPath() == null || providerUrl.getPath()
@@ -479,7 +477,7 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
     @Override
     protected void destroyAllInvokers() {
         Map<URL, Invoker<T>> localUrlInvokerMap = this.urlInvokerMap; // local 
reference
-        if (localUrlInvokerMap != null) {
+        if (!CollectionUtils.isEmptyMap(localUrlInvokerMap)) {
             for (Invoker<T> invoker : new 
ArrayList<>(localUrlInvokerMap.values())) {
                 try {
                     invoker.destroyAll();
@@ -494,12 +492,12 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
     }
 
     private void destroyUnusedInvokers(Map<URL, Invoker<T>> oldUrlInvokerMap, 
Map<URL, Invoker<T>> newUrlInvokerMap) {
-        if (newUrlInvokerMap == null || newUrlInvokerMap.size() == 0) {
+        if (CollectionUtils.isEmptyMap(newUrlInvokerMap)) {
             destroyAllInvokers();
             return;
         }
 
-        if (oldUrlInvokerMap == null || oldUrlInvokerMap.size() == 0) {
+        if (CollectionUtils.isEmptyMap(oldUrlInvokerMap)) {
             return;
         }
 
@@ -557,7 +555,7 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
 
     @Override
     public URL getConsumerUrl() {
-        return this.overrideDirectoryUrl;
+        return this.consumerUrl;
     }
 
     @Override
@@ -615,27 +613,6 @@ public class RegistryDirectory<T> extends 
DynamicDirectory<T> {
         return StringUtils.isEmpty(url.getParameter(COMPATIBLE_CONFIG_KEY));
     }
 
-    private void overrideDirectoryUrl() {
-        // merge override parameters
-        this.overrideDirectoryUrl = directoryUrl;
-        List<Configurator> localConfigurators = this.configurators; // local 
reference
-        doOverrideUrl(localConfigurators);
-        List<Configurator> localAppDynamicConfigurators = 
consumerConfigurationListener.getConfigurators(); // local reference
-        doOverrideUrl(localAppDynamicConfigurators);
-        if (referenceConfigurationListener != null) {
-            List<Configurator> localDynamicConfigurators = 
referenceConfigurationListener.getConfigurators(); // local reference
-            doOverrideUrl(localDynamicConfigurators);
-        }
-    }
-
-    private void doOverrideUrl(List<Configurator> configurators) {
-        if (CollectionUtils.isNotEmpty(configurators)) {
-            for (Configurator configurator : configurators) {
-                this.overrideDirectoryUrl = 
configurator.configure(overrideDirectoryUrl);
-            }
-        }
-    }
-
     private static class ReferenceConfigurationListener extends 
AbstractConfiguratorListener {
         private RegistryDirectory directory;
         private URL url;

Reply via email to