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

albumenj 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 2c60b8e  fix issue-8741: consumer and provider have same tag, but no 
provider found (#8763)
2c60b8e is described below

commit 2c60b8ee630ad430a9c27a48700303f5a1a31f31
Author: changfu <[email protected]>
AuthorDate: Sun Sep 12 20:10:31 2021 +0800

    fix issue-8741: consumer and provider have same tag, but no provider found 
(#8763)
---
 .../apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java
index 34317ab..8ede3c1 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagStaticStateRouter.java
@@ -55,7 +55,7 @@ public class TagStaticStateRouter extends AbstractStateRouter 
{
     public <T> BitList<Invoker<T>> route(BitList<Invoker<T>> invokers, 
RouterCache<T> routerCache, URL url, Invocation invocation)
         throws RpcException {
 
-        String tag = StringUtils.isEmpty(invocation.getAttachment(TAG_KEY)) ? 
url.getParameter(TAG_KEY) :
+        String tag = isNoTag(invocation.getAttachment(TAG_KEY)) ? 
url.getParameter(TAG_KEY) :
             invocation.getAttachment(TAG_KEY);
         if (StringUtils.isEmpty(tag)) {
             tag = NO_TAG;
@@ -69,6 +69,10 @@ public class TagStaticStateRouter extends 
AbstractStateRouter {
         return invokers.intersect(res, invokers.getUnmodifiableList());
     }
 
+    private boolean isNoTag(String tag) {
+        return StringUtils.isEmpty(tag) || NO_TAG.equals(tag);
+    }
+
     @Override
     protected List<String> getTags(URL url, Invocation invocation) {
         List<String> tags = new ArrayList<>();

Reply via email to