[
https://issues.apache.org/jira/browse/CURATOR-402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15981638#comment-15981638
]
ASF GitHub Bot commented on CURATOR-402:
----------------------------------------
GitHub user srdo opened a pull request:
https://github.com/apache/curator/pull/216
CURATOR-402: Curator should not use QuorumServer.addr when updating the
connect string dynamically
…e the client connect string, resulting in a client unable to reconnect
See https://issues.apache.org/jira/browse/CURATOR-402.
I took a look at adding a test for this, but both addresses are null when
using a single testing server, and I couldn't find a way to start a testing
cluster where clientAddr is null.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/srdo/curator CURATOR-402
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/curator/pull/216.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #216
----
commit 942b96368dbd536a61c5cb150bd081a6f0ac2754
Author: Stig Rohde Døssing <[email protected]>
Date: 2017-04-24T18:23:41Z
Fix EnsembleTracker sometimes using the Zookeeper peer ports to update the
client connect string, resulting in a client unable to reconnect
----
> Curator should not use QuorumServer.addr when updating the connect string
> dynamically
> -------------------------------------------------------------------------------------
>
> Key: CURATOR-402
> URL: https://issues.apache.org/jira/browse/CURATOR-402
> Project: Apache Curator
> Issue Type: Bug
> Affects Versions: 3.2.1, 3.3.0
> Reporter: Stig Rohde Døssing
> Assignee: Jordan Zimmerman
>
> https://issues.apache.org/jira/browse/CURATOR-345 made a change to
> EnsembleTracker to read the QuorumServer.addr in case the
> QuorumServer.clientAddr field is null. This doesn't seem right to me.
> When the Zookeeper cluster is configured with the new clientPort syntax
> (http://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperReconfig.html#sc_reconfig_clientport),
> the clientAddr is correctly set:
> {code}
> 19:54:10.691 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr
> /0.0.0.0:2181 and server addr localhost/127.0.0.1:2888
> 19:54:10.691 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr
> /0.0.0.0:2182 and server addr localhost/127.0.0.1:2889
> 19:54:10.691 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr
> /0.0.0.0:2183 and server addr localhost/127.0.0.1:2890
> {code}
> If the ensemble is configured with the old clientPort property, the
> clientAddr fields will be null:
> {code}
> 19:59:23.801 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr null
> and server addr localhost/127.0.0.1:2888
> 19:59:23.801 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr null
> and server addr localhost/127.0.0.1:2889
> 19:59:23.801 [main-EventThread] ERROR
> org.apache.curator.framework.imps.EnsembleTracker - Getting clientAddr null
> and server addr localhost/127.0.0.1:2890
> {code}
> Before https://issues.apache.org/jira/browse/CURATOR-345, this was okay,
> since using the old clientPort property just wound up making the
> EnsembleTracker.configToConnectionString method return an empty string, which
> effectively disables Curators ability to update the connection string.
> With the new behavior, the connect string will be updated to the server
> addresses (i.e. the peer ports) if the clientAddr fields are null, which will
> result in Curator being unable to reconnect if the Zookeeper instance needs
> to be replaced.
> As far as I'm aware the client has no use for the Zookeeper peer ports, so
> the change from https://issues.apache.org/jira/browse/CURATOR-345 should
> probably be reverted.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)