Repository: hbase Updated Branches: refs/heads/branch-1.3 df419a168 -> 123f765eb
HBASE-19102 TestZooKeeperMainServer fails with KeeperException Reapplication after fixing compile issue. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/123f765e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/123f765e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/123f765e Branch: refs/heads/branch-1.3 Commit: 123f765eb408d5ccf3ed3e4a2cd247eb2c1bc305 Parents: df419a1 Author: Michael Stack <st...@apache.org> Authored: Mon Nov 6 20:30:14 2017 -0800 Committer: Michael Stack <st...@apache.org> Committed: Mon Nov 6 20:39:12 2017 -0800 ---------------------------------------------------------------------- .../hadoop/hbase/zookeeper/ZooKeeperMainServer.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/123f765e/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java index e81da59..92460fe 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java @@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.zookeeper; import java.io.IOException; +import java.util.concurrent.TimeUnit; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; @@ -48,6 +49,15 @@ public class ZooKeeperMainServer { public HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain(String[] args) throws IOException, InterruptedException { super(args); + // Make sure we are connected before we proceed. Can take a while on some systems. If we + // run the command without being connected, we get ConnectionLoss KeeperErrorConnection... + long startTime = System.currentTimeMillis(); + while (!this.zk.getState().isConnected()) { + Thread.sleep(1); + if ((System.currentTimeMillis() - startTime) > 10000) { + throw new InterruptedException("Failed connect " + this.zk); + } + } } /** @@ -100,6 +110,8 @@ public class ZooKeeperMainServer { } } // If command-line arguments, run our hack so they are executed. + // ZOOKEEPER-1897 was committed to zookeeper-3.4.6 but elsewhere in this class we say + // 3.4.6 breaks command-processing; TODO. if (hasCommandLineArguments(args)) { HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain zkm = new HACK_UNTIL_ZOOKEEPER_1897_ZooKeeperMain(newArgs);