[ 
https://issues.apache.org/jira/browse/CURATOR-593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kezhu Wang resolved CURATOR-593.
--------------------------------
    Resolution: Fixed

master: 4221604facf2447f4ef7789842ac0b8c4a9d4763

> EnsembleTracker  "configToConnectionString" method doesn't include zookeeper 
> chroot
> -----------------------------------------------------------------------------------
>
>                 Key: CURATOR-593
>                 URL: https://issues.apache.org/jira/browse/CURATOR-593
>             Project: Apache Curator
>          Issue Type: Bug
>    Affects Versions: 5.5.0
>            Reporter: Yang
>            Assignee: Kezhu Wang
>            Priority: Major
>             Fix For: 5.6.0
>
>
> 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|https://github.com/apache/curator/blob/master/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java#L168]
>  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|https://github.com/apache/curator/blob/master/curator-client/src/main/java/org/apache/curator/ConnectionState.java#L255]
>   ConnectionState class will try to reset the connection by using 
> [HandleHolder.getZooKeepe|https://github.com/Honglun/curator/blob/master/curator-client/src/main/java/org/apache/curator/HandleHolder.java#L87]r
>  , the new connection string generated by above 
> [EnsembleTracker.configToConnectionString|https://github.com/apache/curator/blob/master/curator-framework/src/main/java/org/apache/curator/framework/imps/EnsembleTracker.java#L168]
>   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)* 
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to