Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.5.0
-
None
-
None
Description
The bug was found on curator 4.2 version and it's still in the master branch.
It can be reproduced by running a zookeeper quorum
If you have a zookeeper connection string localhost:2181/foobar and using curator library.
EnsembleTracker.configToConnectionString will try to re-build the zookeeper connection string by using all the hosts in the quorum into the connection string(127.0.0.1:2181,127.0.0.1:2182/), but doesn't include zookeeper zk_chroot when reconstructing connection string.
It's normally fine because it's not in-used, but when there is a session timeout trigger zookeeper watcher expire ConnectionState class will try to reset the connection by using HandleHolder.getZooKeeper , the new connection string generated by above EnsembleTracker.configToConnectionString method will be in-use during the reconnect.
so it will try to connect to 127.0.0.1:2181,127.0.0.1:2182 (without /foobar zh_chroot)
Attachments
Attachments
Issue Links
- is blocked by
-
ZOOKEEPER-4565 Config watch path get truncated abnormally and fail chroot zookeeper client
- Closed
- is duplicated by
-
CURATOR-611 EnsembleTracker not appending the chroot node when setting the new connection string
- Closed
- links to