浏览代码

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 年之前
父节点
当前提交
b1f6279a8c
共有 1 个文件被更改,包括 3 次插入0 次删除
  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();
         Vote current = self.getCurrentVote();
         for (QuorumServer s : self.getView().values()) {
         for (QuorumServer s : self.getView().values()) {
             if (s.id == current.getId()) {
             if (s.id == current.getId()) {
+                // Ensure we have the leader's correct IP address before
+                // attempting to connect.
+                s.recreateSocketAddresses();
                 leaderServer = s;
                 leaderServer = s;
                 break;
                 break;
             }
             }