diff --git a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/FailbackClusterInvoker.java b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/FailbackClusterInvoker.java index 15280701fd4..0d2d6d13303 100644 --- a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/FailbackClusterInvoker.java +++ b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/FailbackClusterInvoker.java @@ -102,7 +102,9 @@ protected Result doInvoke(Invocation invocation, List> invokers, Load } catch (Throwable e) { logger.error("Failback to invoke method " + invocation.getMethodName() + ", wait for retry in background. Ignored exception: " + e.getMessage() + ", ", e); - addFailed(loadbalance, invocation, invokers, invoker); + if (retries > 0) { + addFailed(loadbalance, invocation, invokers, invoker); + } return AsyncRpcResult.newDefaultAsyncResult(null, null, invocation); // ignore } }