-
Notifications
You must be signed in to change notification settings - Fork 26.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zookeeper need catch exception when write failed #12941
Comments
应用级的注册根路径为 /services |
什么意思, 是用户使用的时候保证应用级注册到 /services 吗? 还是说 dubbo 在写应用级节点的时候自己处理的 |
我认为不管根目录是什么都会触发这个 bug. 我注册时指定了 group, 所以会用 group 作为根目录. 把根目录从 group 变成默认的 /services 也是一样的 |
综上,最好的解决方案是 dubbo-admin 侧在订阅的时候修改实现的模式 |
或者考虑在解析节点的时候 catch 错误呢? 解析不了的就打个 warning 然后 ignore |
catch 是需要的,你可以提个 PR 修复下吗 |
好的, assign 给我吧 |
@schneiderlin |
is there done?i want to try it if nobody want do it. |
@walkinggo Go ahead! |
I think this issue has been resolved. Should it be closed? |
假设 zk 上的 dubbo 注册信息根路径是 /dubbo.
上面有接口级的例如
还有应用级的, 例如
当 org.apache.dubbo.registry.zookeeper.ZookeeperRegistry#doSubscribe 调用的时候, 如果走到了 ANY_VALUE.equals(url.getServiceInterface()) 的分支, 会把底下所有子节点都 subscribe.
即上面例子的 /dubbo/com.example.SomeInterface 和 /dubbo/SomeService 都 subscribe 了.
这两个子节点会触发
于是应用级的接口就会变成这样
应用级节点里面的每个子节点(例子中的127.0.0.1:20880)的内容应该是可以序列化到 ServiceInstance 的 json.
但是 configurators, consumers, providers, routers 这几个自动创建的不是 json. 导致解析错误
The text was updated successfully, but these errors were encountered: