Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3538A200CB7 for ; Fri, 16 Jun 2017 00:35:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 33E58160BED; Thu, 15 Jun 2017 22:35:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 82DEC160BDF for ; Fri, 16 Jun 2017 00:35:05 +0200 (CEST) Received: (qmail 91270 invoked by uid 500); 15 Jun 2017 22:35:04 -0000 Mailing-List: contact commits-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list commits@zookeeper.apache.org Received: (qmail 91259 invoked by uid 99); 15 Jun 2017 22:35:04 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Jun 2017 22:35:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 77035DFE5C; Thu, 15 Jun 2017 22:35:04 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hanm@apache.org To: commits@zookeeper.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: zookeeper git commit: ZOOKEEPER-2786: Flaky test: org.apache.zookeeper.test.ClientTest.testNonExistingOpCode Date: Thu, 15 Jun 2017 22:35:04 +0000 (UTC) archived-at: Thu, 15 Jun 2017 22:35:06 -0000 Repository: zookeeper Updated Branches: refs/heads/branch-3.5 20dafe7be -> c89784cc5 ZOOKEEPER-2786: Flaky test: org.apache.zookeeper.test.ClientTest.testNonExistingOpCode On branch 3.5, testNonExistingOpCode appears to always take 30 seconds to execute (far too long): https://builds.apache.org/job/ZooKeeper_branch35_jdk7/967/testReport/org.apache.zookeeper.test/ClientTest/testNonExistingOpCode/history/ The reason for this is a call to `zk.testableWaitForShutdown(CONNECTION_TIMEOUT)` while waiting for the client to disconnect after it sent a request with a bad opcode to the server. The call to `testableWaitForShutdown` never actually asserts anything and effectively just hangs for CONNECTION_TIMEOUT (30 seconds) and returns because the client reconnects to the server. This patch replaces `zk.testableWaitForShutdown(CONNECTION_TIMEOUT)` with `watcher.waitForDisconnected(5000)` which is a better way to detect if we have been disconnected. Author: Abraham Fine Reviewers: Michael Han Closes #259 from afine/ZOOKEEPER-2786_br3.5 Project: http://git-wip-us.apache.org/repos/asf/zookeeper/repo Commit: http://git-wip-us.apache.org/repos/asf/zookeeper/commit/c89784cc Tree: http://git-wip-us.apache.org/repos/asf/zookeeper/tree/c89784cc Diff: http://git-wip-us.apache.org/repos/asf/zookeeper/diff/c89784cc Branch: refs/heads/branch-3.5 Commit: c89784cc57bdcc88de89da6993d758225585d33e Parents: 20dafe7 Author: Abraham Fine Authored: Thu Jun 15 15:34:59 2017 -0700 Committer: Michael Han Committed: Thu Jun 15 15:34:59 2017 -0700 ---------------------------------------------------------------------- src/java/test/org/apache/zookeeper/TestableZooKeeper.java | 6 ------ src/java/test/org/apache/zookeeper/test/ClientTest.java | 7 +++++-- 2 files changed, 5 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zookeeper/blob/c89784cc/src/java/test/org/apache/zookeeper/TestableZooKeeper.java ---------------------------------------------------------------------- diff --git a/src/java/test/org/apache/zookeeper/TestableZooKeeper.java b/src/java/test/org/apache/zookeeper/TestableZooKeeper.java index c69033c..cd4c53c 100644 --- a/src/java/test/org/apache/zookeeper/TestableZooKeeper.java +++ b/src/java/test/org/apache/zookeeper/TestableZooKeeper.java @@ -96,12 +96,6 @@ public class TestableZooKeeper extends ZooKeeperAdmin { return false; } } - - public boolean testableWaitForShutdown(int wait) - throws InterruptedException - { - return super.testableWaitForShutdown(wait); - } public SocketAddress testableLocalSocketAddress() { return super.testableLocalSocketAddress(); http://git-wip-us.apache.org/repos/asf/zookeeper/blob/c89784cc/src/java/test/org/apache/zookeeper/test/ClientTest.java ---------------------------------------------------------------------- diff --git a/src/java/test/org/apache/zookeeper/test/ClientTest.java b/src/java/test/org/apache/zookeeper/test/ClientTest.java index 1aaef75..ffc81c1 100644 --- a/src/java/test/org/apache/zookeeper/test/ClientTest.java +++ b/src/java/test/org/apache/zookeeper/test/ClientTest.java @@ -828,7 +828,8 @@ public class ClientTest extends ClientBase { */ @Test public void testNonExistingOpCode() throws Exception { - TestableZooKeeper zk = createClient(); + CountdownWatcher watcher = new CountdownWatcher(); + TestableZooKeeper zk = createClient(watcher); final String path = "/m1"; @@ -841,7 +842,9 @@ public class ClientTest extends ClientBase { ReplyHeader r = zk.submitRequest(h, request, response, null); Assert.assertEquals(r.getErr(), Code.UNIMPLEMENTED.intValue()); - zk.testableWaitForShutdown(CONNECTION_TIMEOUT); + + // Sending a nonexisting opcode should cause the server to disconnect + watcher.waitForDisconnected(5000); } @Test