You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by cr...@apache.org on 2024/01/02 10:58:49 UTC
(dubbo) branch 3.2 updated: Fix MergeableClusterInvoker log issue (#13593)
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 <10...@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;