[ 
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)

Reply via email to