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

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


The following commit(s) were added to refs/heads/3.2 by this push:
     new fed4755cd6 Fix dubbo.tag override by consumer.tag in NacosRegistry 
(#13592)
fed4755cd6 is described below

commit fed4755cd6693e51d8f99555b1d339019e591917
Author: namelessssssssssss 
<100946116+namelesssssssss...@users.noreply.github.com>
AuthorDate: Tue Jan 2 10:22:13 2024 +0800

    Fix dubbo.tag override by consumer.tag in NacosRegistry (#13592)
---
 .../registry/support/CacheableFailbackRegistry.java      | 16 ----------------
 .../apache/dubbo/registry/support/FailbackRegistry.java  | 15 +++++++++++++++
 .../org/apache/dubbo/registry/nacos/NacosRegistry.java   |  1 +
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
index 94b38c6224..41b2c3ac4b 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java
@@ -32,7 +32,6 @@ import org.apache.dubbo.common.utils.ConcurrentHashMapUtils;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.common.utils.UrlUtils;
 import org.apache.dubbo.registry.NotifyListener;
-import org.apache.dubbo.registry.ProviderFirstParams;
 import org.apache.dubbo.rpc.model.ScopeModel;
 
 import java.util.ArrayList;
@@ -41,7 +40,6 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ScheduledExecutorService;
@@ -319,20 +317,6 @@ public abstract class CacheableFailbackRegistry extends 
FailbackRegistry {
         return new DubboServiceAddressURL(address, param, consumerURL, null);
     }
 
-    protected URL removeParamsFromConsumer(URL consumer) {
-        Set<ProviderFirstParams> providerFirstParams = 
consumer.getOrDefaultApplicationModel()
-                .getExtensionLoader(ProviderFirstParams.class)
-                .getSupportedExtensionInstances();
-        if (CollectionUtils.isEmpty(providerFirstParams)) {
-            return consumer;
-        }
-
-        for (ProviderFirstParams paramsFilter : providerFirstParams) {
-            consumer = consumer.removeParameters(paramsFilter.params());
-        }
-        return consumer;
-    }
-
     private String stripOffVariableKeys(String rawProvider) {
         String[] keys = getVariableKeys();
         if (keys == null || keys.length == 0) {
diff --git 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
index 5d311ca17d..177332240c 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/FailbackRegistry.java
@@ -21,6 +21,7 @@ import org.apache.dubbo.common.timer.HashedWheelTimer;
 import org.apache.dubbo.common.utils.CollectionUtils;
 import org.apache.dubbo.common.utils.NamedThreadFactory;
 import org.apache.dubbo.registry.NotifyListener;
+import org.apache.dubbo.registry.ProviderFirstParams;
 import org.apache.dubbo.registry.retry.FailedRegisteredTask;
 import org.apache.dubbo.registry.retry.FailedSubscribedTask;
 import org.apache.dubbo.registry.retry.FailedUnregisteredTask;
@@ -177,6 +178,20 @@ public abstract class FailbackRegistry extends 
AbstractRegistry {
         }
     }
 
+    protected URL removeParamsFromConsumer(URL consumer) {
+        Set<ProviderFirstParams> providerFirstParams = 
consumer.getOrDefaultApplicationModel()
+                .getExtensionLoader(ProviderFirstParams.class)
+                .getSupportedExtensionInstances();
+        if (CollectionUtils.isEmpty(providerFirstParams)) {
+            return consumer;
+        }
+
+        for (ProviderFirstParams paramsFilter : providerFirstParams) {
+            consumer = consumer.removeParameters(paramsFilter.params());
+        }
+        return consumer;
+    }
+
     ConcurrentMap<URL, FailedRegisteredTask> getFailedRegistered() {
         return failedRegistered;
     }
diff --git 
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
 
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
index de2d990ac4..9fbbd9ebb4 100644
--- 
a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
+++ 
b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java
@@ -573,6 +573,7 @@ public class NacosRegistry extends FailbackRegistry {
     }
 
     private List<URL> toUrlWithEmpty(URL consumerURL, Collection<Instance> 
instances) {
+        consumerURL = removeParamsFromConsumer(consumerURL);
         List<URL> urls = buildURLs(consumerURL, instances);
         // Nacos does not support configurators and routers from registry, so 
all notifications are of providers type.
         if (urls.size() == 0 && 
!getUrl().getParameter(ENABLE_EMPTY_PROTECTION_KEY, 
DEFAULT_ENABLE_EMPTY_PROTECTION)) {

Reply via email to