[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14971379#comment-14971379
 ] 

Robert P. Thille commented on ZOOKEEPER-2184:
---------------------------------------------

For "1" is the change you suggest in order to reduce the latency of going to 
the 'next()' server?  That makes sense.  Ideally, I'd love to kick off a thread 
to do the resolution and immediately return the next server, but I'm a C/Python 
programmer, not a Java programmer, so I'm not going there :-)

For 2, I'll have to re-run through it when I get a chance (later today 
probably), but I believe that that code converts hostnames to IP addresses, so 
later on we don't have the original hostnames in order to re-resolve.

For 3, yeah, I think I changed that because I was seeing the ERROR() output for 
something that was obviously expected and not an error and that was distracting 
me from the real errors I was seeing during development.  I'll remove that from 
the next patch.

> Zookeeper Client should re-resolve hosts when connection attempts fail
> ----------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2184
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2184
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.4.6, 3.5.0
>         Environment: Ubuntu 14.04 host, Docker containers for Zookeeper & 
> Kafka
>            Reporter: Robert P. Thille
>            Assignee: Robert P. Thille
>              Labels: easyfix, patch
>             Fix For: 3.4.7, 3.5.2
>
>         Attachments: ZOOKEEPER-2184.patch
>
>
> Testing in a Docker environment with a single Kafka instance using a single 
> Zookeeper instance. Restarting the Zookeeper container will cause it to 
> receive a new IP address. Kafka will never be able to reconnect to Zookeeper 
> and will hang indefinitely. Updating DNS or /etc/hosts with the new IP 
> address will not help the client to reconnect as the 
> zookeeper/client/StaticHostProvider resolves the connection string hosts at 
> creation time and never re-resolves.
> A solution would be for the client to notice that connection attempts fail 
> and attempt to re-resolve the hostnames in the connectString.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to