Browse Source

ZOOKEEPER-2982: Re-try DNS hostname -> IP resolution if node connection fails

This PR ports a fix from the 3.4 to the master branch, that was originally made in ZOOKEEPER-1506.

Closes ZOOKEEPER-2982.

Author: Eron Wright <eron.wright@gmail.com>

Reviewers: Andor Molnar <andor@cloudera.com>, Abraham Fine <afine@apache.org>, Flavio Junqueira <fpj@apache.org>

Closes #513 from EronWright/ZOOKEEPER-2982-master
Eron Wright 7 years ago
parent
commit
b1f6279a8c
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/java/main/org/apache/zookeeper/server/quorum/Learner.java

+ 3 - 0
src/java/main/org/apache/zookeeper/server/quorum/Learner.java

@@ -201,6 +201,9 @@ public class Learner {
         Vote current = self.getCurrentVote();
         for (QuorumServer s : self.getView().values()) {
             if (s.id == current.getId()) {
+                // Ensure we have the leader's correct IP address before
+                // attempting to connect.
+                s.recreateSocketAddresses();
                 leaderServer = s;
                 break;
             }