瀏覽代碼

ZOOKEEPER-1939. ReconfigRecoveryTest.testNextConfigUnreachable is failing (Rakesh R via phunt)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1605509 13f79535-47bb-0310-9956-ffa450edef68
Patrick D. Hunt 11 年之前
父節點
當前提交
a457a6a686
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. 3 0
      CHANGES.txt
  2. 6 2
      src/java/test/org/apache/zookeeper/test/QuorumBase.java

+ 3 - 0
CHANGES.txt

@@ -673,6 +673,9 @@ BUGFIXES:
   ZOOKEEPER-1945. deb - zkCli.sh, zkServer.sh and zkEnv.sh regression caused
   by ZOOKEEPER-1663 (Mark Flickinger via fpj)
 
+  ZOOKEEPER-1939. ReconfigRecoveryTest.testNextConfigUnreachable is
+  failing (Rakesh R via phunt)
+
 IMPROVEMENTS:
 
   ZOOKEEPER-1170. Fix compiler (eclipse) warnings: unused imports,

+ 6 - 2
src/java/test/org/apache/zookeeper/test/QuorumBase.java

@@ -388,9 +388,13 @@ public class QuorumBase extends ClientBase {
                 LOG.info("No election available to shutdown " + qp.getName());
             }
             LOG.info("Waiting for " + qp.getName() + " to exit thread");
-            qp.join(30000);
+            long readTimeout = qp.getTickTime() * qp.getInitLimit();
+            long connectTimeout = qp.getTickTime() * qp.getSyncLimit();
+            long maxTimeout = Math.max(readTimeout, connectTimeout);
+            maxTimeout = Math.max(maxTimeout, ClientBase.CONNECTION_TIMEOUT);
+            qp.join(maxTimeout * 2);
             if (qp.isAlive()) {
-                Assert.fail("QP failed to shutdown in 30 seconds: " + qp.getName());
+                Assert.fail("QP failed to shutdown in " + (maxTimeout * 2) + " seconds: " + qp.getName());
             }
         } catch (InterruptedException e) {
             LOG.debug("QP interrupted: " + qp.getName(), e);