zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2184) Zookeeper Client should re-resolve hosts when connection attempts fail
Date Tue, 17 Jan 2017 15:46:26 GMT

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

ASF GitHub Bot commented on ZOOKEEPER-2184:
-------------------------------------------

Github user fpj commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/150#discussion_r96439377
  
    --- Diff: src/java/main/org/apache/zookeeper/client/StaticHostProvider.java ---
    @@ -87,15 +73,69 @@ public StaticHostProvider(Collection<InetSocketAddress> serverAddresses)
             Collections.shuffle(this.serverAddresses);
         }
     
    +    /**
    +     * In Java 7, we have a method getHostString, but earlier versions do not support
it.
    +     * This method is to provide a replacement for InetSocketAddress.getHostString().
    +     *
    +     * It evaluates to a hostname if one is available and otherwise it returns the
    +     * string representation of the IP address.
    +     *
    +     * @param addr
    +     * @return Hostname string of address parameter
    +     */
    +    private String getHostString(InetSocketAddress addr) {
    --- End diff --
    
    We can do it, but I'm not super convinced we should because we are essentially using a
method with undocumented API. Perhaps it does the same as the one in Java 7, with the difference
that it is public, but I'm worried that there could be some correctness issue involved. Do
you know more about it?
    
    In any case, I'm going to push the changes so that we see how it looks like.


> 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: Flavio Junqueira
>              Labels: easyfix, patch
>             Fix For: 3.4.10, 3.5.3
>
>         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)

Mime
View raw message