Benjamin Jaton created ZOOKEEPER-1846:
-----------------------------------------

             Summary: 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.5
            Reporter: Benjamin Jaton
            Priority: Minor


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
(v6.1.4#6159)

Reply via email to