[ https://issues.apache.org/jira/browse/ZOOKEEPER-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16276711#comment-16276711 ]
ASF GitHub Bot commented on ZOOKEEPER-2184: ------------------------------------------- Github user sslavic commented on the issue: https://github.com/apache/zookeeper/pull/150 @riccardofreixo have you tried using ClusterIP Service for ZooKeeper StatefulSet and providing that ClusterIP (or service hostname) to Kafka / ZooKeeper clients as sole ZooKeeper hostname? StatefulSet can have multiple replicas, but to ZooKeeper clients all of the members no matter how many of them there are (1, 3, 5, ..) would be accessible under single ClusterIP. Even when Pods of StatefulSet die and get re-scheduled for whatever reason, they will likely get new IP, but IP of ClusterIP Service remains stable so ZooKeeper clients should be able to reconnect, without need to reresolve IP address of the host. If there's a quorum, Pod that died does not necessarily have to become available quickly, clients should still be able to connect even without losing session. > 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.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, > 3.5.3, 3.4.11 > Environment: Ubuntu 14.04 host, Docker containers for Zookeeper & > Kafka > Reporter: Robert P. Thille > Assignee: Flavio Junqueira > Priority: Blocker > Labels: easyfix, patch > Fix For: 3.5.4, 3.4.12 > > 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.4.14#64029)