Uploaded image for project: 'Apache Curator'
  1. Apache Curator
  2. CURATOR-593

EnsembleTracker "configToConnectionString" method doesn't include zookeeper chroot

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.5.0
    • 5.6.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

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            kezhuw Kezhu Wang
            SheepSheep Yang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment