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 Wed, 24 Jan 2018 14:59:00 GMT

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

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

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

    https://github.com/apache/zookeeper/pull/451#discussion_r163570637
  
    --- Diff: src/java/test/org/apache/zookeeper/client/StaticHostProviderTest.java ---
    @@ -117,8 +117,32 @@ public void testTwoInvalidHostAddresses() {
             list.add(new InetSocketAddress("a", 2181));
             list.add(new InetSocketAddress("b", 2181));
             new StaticHostProvider(list);
    +	}
    +
    +    @Test
    +    public void testReResolving() {
    +        byte size = 1;
    +        ArrayList<InetSocketAddress> list = new ArrayList<InetSocketAddress>(size);
    +
    +        // Test a hostname that resolves to multiple addresses
    --- End diff --
    
    Common domain names like facebook.com, google.com or apache.org don't use round-robin
DNS anymore for some reason, so they don't resolve to multiple addresses. As a consequence
this test doesn't validate the branch related to multiple addresses anymore unfortunately.
    
    Not sure how to address that, PowerMock would be the best to mock static `getAllByName()`
method, but that would involve introducing a new test dependency.


> 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
(v7.6.3#76005)

Mime
View raw message