This is an automated email from the ASF dual-hosted git repository. crazyhzm 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 1bdbfd8647 Fix MergeableClusterInvoker log issue (#13593) 1bdbfd8647 is described below commit 1bdbfd864740f6023762b788c7ae0d42f00fd5d6 Author: namelessssssssssss <100946116+namelesssssssss...@users.noreply.github.com> AuthorDate: Tue Jan 2 18:58:43 2024 +0800 Fix MergeableClusterInvoker log issue (#13593) * Fix MergeableClusterInvoker log issue * Code style fix * Update log level * Update log level * Update log level * Add exception stacktrace --- .../cluster/support/MergeableClusterInvoker.java | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java index e7c5f9d781..e15f76d08d 100644 --- a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java +++ b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java @@ -16,6 +16,7 @@ */ package org.apache.dubbo.rpc.cluster.support; +import org.apache.dubbo.common.constants.LoggerCodeConstants; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; import org.apache.dubbo.common.utils.ConfigUtils; @@ -69,8 +70,10 @@ public class MergeableClusterInvoker<T> extends AbstractClusterInvoker<T> { return invokeWithContext(invoker, invocation); } catch (RpcException e) { if (e.isNoInvokerAvailableAfterFilter()) { - log.debug("No available provider for service" + getUrl().getServiceKey() + " on group " - + invoker.getUrl().getGroup() + ", will continue to try another group."); + log.debug( + "No available provider for service" + getUrl().getServiceKey() + " on group " + + invoker.getUrl().getGroup() + ", will continue to try another group.", + e); } else { throw e; } @@ -93,7 +96,21 @@ public class MergeableClusterInvoker<T> extends AbstractClusterInvoker<T> { for (final Invoker<T> invoker : invokers) { RpcInvocation subInvocation = new RpcInvocation(invocation, invoker); subInvocation.setAttachment(ASYNC_KEY, "true"); - results.put(invoker.getUrl().getServiceKey(), invokeWithContext(invoker, subInvocation)); + try { + results.put(invoker.getUrl().getServiceKey(), invokeWithContext(invoker, subInvocation)); + } catch (RpcException e) { + if (e.isNoInvokerAvailableAfterFilter()) { + log.warn( + LoggerCodeConstants.CLUSTER_NO_VALID_PROVIDER, + e.getCause().getMessage(), + "", + "No available provider for service" + getUrl().getServiceKey() + " on group " + + invoker.getUrl().getGroup() + ", will continue to try another group.", + e); + } else { + throw e; + } + } } Object result;