Closed ZhiQinIsZhen closed 4 years ago
不知道什么原因,2.7.6版本把RegistryDirectory.getUrl()方法删掉了(原来返回overrideDirectoryUrl里指定cluster),现在默认获取的是AbstractDirectory里的url,里面没有指定cluster,导致Cluster$Adpative全部返回默认failover
不知道什么原因,2.7.6版本把RegistryDirectory.getUrl()方法删掉了(原来返回overrideDirectoryUrl里指定cluster),现在默认获取的是AbstractDirectory里的url,里面没有指定cluster,导致Cluster$Adpative全部返回默认failover
其实这个影响还是挺大的,等待下一个版本释放吧
相同的问题 #5966
2.7.7我测试了下,注解也换成dubboService和dubboReference,没有在这个版本中进行修复
2.7.7我测试了下,注解也换成dubboService和dubboReference,没有在这个版本中进行修复
貌似确实还没有修复... 也不晓得后续😂 不过造成原因知道了...
2.7.7我测试了下,注解也换成dubboService和dubboReference,没有在这个版本中进行修复
貌似确实还没有修复... 也不晓得后续😂 不过造成原因知道了...
那我只能把代码修改下,自己打个包了,以为2.7.7修复了
如果实在要设置的话,加这个配置一样的 dubbo.consumer.retries=0
如果实在要设置的话,加这个配置一样的 dubbo.consumer.retries=0
可以是可以,但现在貌似只有failover
(默认策略),其它的(failback、failsafe)都不可用了...
dubbo.consumer.retries=0
如果实在要设置的话,加这个配置一样的 dubbo.consumer.retries=0
可以是可以,但现在貌似只有
failover
(默认策略),其它的(failback、failsafe)都不可用了...
我打过包替换了common,也不行
这个我也遇到了, 想用 broadcast cluster,但不管怎么配,都是 Failover. 之前的哪个版本可以呢?
这个我也遇到了, 想用 broadcast cluster,但不管怎么配,都是 Failover. 之前的哪个版本可以呢?
2.7.5包含,或者之前的版本都可以,如果只是用到fastfail可以设置成retry=0
这个我也遇到了, 想用 broadcast cluster,但不管怎么配,都是 Failover. 之前的哪个版本可以呢?
2.7.5包含,或者之前的版本都可以,如果只是用到fastfail可以设置成retry=0
为什么新版本去掉了呢?很不理解
这个我也遇到了, 想用 broadcast cluster,但不管怎么配,都是 Failover. 之前的哪个版本可以呢?
2.7.5包含,或者之前的版本都可以,如果只是用到fastfail可以设置成retry=0
为什么新版本去掉了呢?很不理解
应该不是刻意去掉.... 估计是某个版本造成的bug...
ReferenceConfig.createProxy()
中创建invoker时,执行RegistryProtocol#refer()
-> RegistryProtocol.doRefer()
,javassist 生成的adaptive-class:
public class Cluster$Adaptive implements org.apache.dubbo.rpc.cluster.Cluster {
@Override
public org.apache.dubbo.rpc.Invoker join(org.apache.dubbo.rpc.cluster.Directory arg0) throws org.apache.dubbo.rpc.RpcException {
// ....
org.apache.dubbo.common.URL url = arg0.getUrl(); // url 中丢失failover参数,所以默认只有"failover"
String extName = url.getParameter("cluster", "failover");
// ...
org.apache.dubbo.rpc.cluster.Cluster extension =
(org.apache.dubbo.rpc.cluster.Cluster)ExtensionLoader.getExtensionLoader(org.apache.dubbo.rpc.cluster.Cluster.class).getExtension(extName);
return extension.join(arg0);
}
}
这个我也遇到了, 想用 broadcast cluster,但不管怎么配,都是 Failover. 之前的哪个版本可以呢?
2.7.5包含,或者之前的版本都可以,如果只是用到fastfail可以设置成retry=0
为什么新版本去掉了呢?很不理解
应该不是刻意去掉.... 估计是某个版本造成的bug...
5966 中提到了原因了,但一直木得后续😂
ReferenceConfig.createProxy()
中创建invoker时,执行RegistryProtocol#refer()
->RegistryProtocol.doRefer()
,javassist 生成的adaptive-class:public class Cluster$Adaptive implements org.apache.dubbo.rpc.cluster.Cluster { @Override public org.apache.dubbo.rpc.Invoker join(org.apache.dubbo.rpc.cluster.Directory arg0) throws org.apache.dubbo.rpc.RpcException { // .... org.apache.dubbo.common.URL url = arg0.getUrl(); // url 中丢失failover参数,所以默认只有"failover" String extName = url.getParameter("cluster", "failover"); // ... org.apache.dubbo.rpc.cluster.Cluster extension = (org.apache.dubbo.rpc.cluster.Cluster)ExtensionLoader.getExtensionLoader(org.apache.dubbo.rpc.cluster.Cluster.class).getExtension(extName); return extension.join(arg0); } }
2.7.8已经修复,棒棒哒
Environment
Steps to reproduce this issue
Pls. provide [GitHub address] to reproduce this issue.
Expected Result
不进行重试
Actual Result
重试了2次
If there is an exception, please attach the exception trace:
[DUBBO] Notify urls for subscribe url consumer://10.1.64.48/com.xxx.remote.crm.service.warn.xxx?application=ai-api-web&category=providers,configurators,routers&check=false&cluster=failfast&dubbo=2.0.2&init=false&interface=com.xxx.remote.crm.service.warn.xxx&metadata-type=remote&methods=xxx&pid=19676&qos.enable=false&release=2.7.6&revision=1.0.0&side=consumer&sticky=false&timeout=1000×tamp=1588757842211&version=1.0.0, urls: [dubbo://10.1.64.48:20885/com.xxx.remote.crm.service.warn.xxx?anyhost=true&application=service-crm&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xxx.remote.crm.service.warn.xxx&metadata-type=remote&methods=xxx&pid=29572&release=2.7.6&revision=1.0.0&service.filter=remoteServiceExceptionFilter,-exception&side=provider&timeout=10000×tamp=1588757859274&version=1.0.0], dubbo version: 2.7.6, current host: 10.1.64.48