Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
3.4.6
-
None
Description
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.
Attachments
Attachments
Issue Links
- is duplicated by
-
ZOOKEEPER-1506 Re-try DNS hostname -> IP resolution if node connection fails
- Resolved
- links to