You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Bug] dubbo3 don't support zookeeper upper than 3.5.5; Curator5ZookeeperClient.createEphemeral() node fail when register consumer/provider cause zookeeper loss connection
#14967
Open
4 tasks done
sfmichaelTech opened this issue
Dec 6, 2024
· 3 comments
In the Spring Boot 2.6.1 environment, Dubbo 3.2.12 version is introduced, and Dubbo is integrated into the Spring Boot service through dubbo-spring-boot-starter 3.2.12 and dubbo-dependencies-zookeeper 3.2.12. Since JDK 17 does not support ZooKeeper version 3.4, ZooKeeper is separately introduced to version 3.9.2. Then, when registering Dubbo producers and consumers through zk, Curator5ZookeeperClient/CuratorZookeeperClient will create temporary nodes for producers/consumers through the public void createEphemeral(String path, boolean faultTolerant) method, at which point an error occurs indicating that ZooKeeper has disconnected.
What you expected to happen
dubbo-zookeeper-curator5-spring-boot-starter 3.2.12 or dubbo-dependencies-zookeeper 3.2.12 does not provide compatibility for higher versions of ZooKeeper (beyond 3.5.5), because I am able to connect to the zk cluster and create ephemeral nodes using a newly created Zookeeper client.
Anything else
No response
Are you willing to submit a pull request to fix on your own?
Yes I am willing to submit a pull request on my own!
I have tried, if using dubbo-dependencies-zookeeper 3.2.12 and zookeeper 3.5.1-alpha, consumers can be successfully registered through CuratorZookeeperClient.createEphemeral(String path, boolean faultTolerant). However, if switched to dubbo-dependencies-zookeeper-curator5 3.2.12, when the zookeeper version exceeds 3.5.5, an error occurs during service registration with Curator5ZookeeperClient.createEphemeral(String path, boolean faultTolerant), resulting in KeeperErrorCode = NoNode for /dubbo/**.
I have tried, if using dubbo-dependencies-zookeeper 3.2.12 and zookeeper 3.5.1-alpha, consumers can be successfully registered through CuratorZookeeperClient.createEphemeral(String path, boolean faultTolerant). However, if switched to dubbo-dependencies-zookeeper-curator5 3.2.12, when the zookeeper version exceeds 3.5.5, an error occurs during service registration with Curator5ZookeeperClient.createEphemeral(String path, boolean faultTolerant), resulting in KeeperErrorCode = NoNode for /dubbo/**.
Pre-check
Search before asking
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
DUBBO java 3.2.12, dubbo-zookeeper-curator5-spring-boot-starter 3.2.12 ; springboot 2.6.1; jdk17; zookeeper: 3.9.2
Steps to reproduce this issue
In the Spring Boot 2.6.1 environment, Dubbo 3.2.12 version is introduced, and Dubbo is integrated into the Spring Boot service through dubbo-spring-boot-starter 3.2.12 and dubbo-dependencies-zookeeper 3.2.12. Since JDK 17 does not support ZooKeeper version 3.4, ZooKeeper is separately introduced to version 3.9.2. Then, when registering Dubbo producers and consumers through zk, Curator5ZookeeperClient/CuratorZookeeperClient will create temporary nodes for producers/consumers through the public void createEphemeral(String path, boolean faultTolerant) method, at which point an error occurs indicating that ZooKeeper has disconnected.
What you expected to happen
dubbo-zookeeper-curator5-spring-boot-starter 3.2.12 or dubbo-dependencies-zookeeper 3.2.12 does not provide compatibility for higher versions of ZooKeeper (beyond 3.5.5), because I am able to connect to the zk cluster and create ephemeral nodes using a newly created Zookeeper client.
Anything else
No response
Are you willing to submit a pull request to fix on your own?
Code of Conduct
The text was updated successfully, but these errors were encountered: