It's a concurrent problem of Registry notification thread and RPC invoking thread. I think your patch can reduce the chances of meeting this problem to some extent but makes no essential differences. If the `destroy` status of an Invoker was set, most likely, the remote connection and some other resources may have also been destroyed, which may still cause the invoke to fail. One side effect if the invoke fails later is that the user may finally get a raw connection exception which may further confuse them.
https://github.com/apache/incubator-dubbo/blob/6938d487a388cc8cd0a2bc8740fe9ee8d378767e/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java#L132 How about add a retry policy in AbstractClusterInvoker.invoke() for this scenario, and we can decide whether retry or not by recognize the RpcException with a special code? I am still thinking of some other better solutions. [ Full content available at: https://github.com/apache/incubator-dubbo/pull/2679 ] This message was relayed via gitbox.apache.org for [email protected]
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
