You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/01/30 12:51:00 UTC

[jira] [Updated] (ZOOKEEPER-1846) Cached InetSocketAddresses prevent proper dynamic DNS resolution

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated ZOOKEEPER-1846:
--------------------------------------
    Labels: patch pull-request-available  (was: patch)

> Cached InetSocketAddresses prevent proper dynamic DNS resolution
> ----------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1846
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1846
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum
>    Affects Versions: 3.4.6
>            Reporter: Benjamin Jaton
>            Priority: Minor
>              Labels: patch, pull-request-available
>         Attachments: DynamicIP.java.patch, Learner.java, QuorumCnxManager.java, QuorumPeer.java
>
>
> The class QuorumPeer maintains a Map<Long, QuorumServer> quorumPeers.
> Each QuorumServer is created with an instance of InetSocketAddress electionAddr, and holds it forever.
> I believe this is why the ZooKeeper servers can't resolve each other dynamically: If a ZooKeeper in the ensemble cannot be resolved at startup, it will never be resolved (until restart of the JVM), constantly failing with an UnknownHostException, even when the node is back up and reachable.
> I would suggest to recreate an InetSocketAddress every time we retry the connection.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)