From 410e5d60bbe08efc7701b64aa8179c29ef242c4e Mon Sep 17 00:00:00 2001 From: Andor Molnar Date: Thu, 14 Nov 2019 20:30:14 +0100 Subject: [PATCH 1/2] ZOOKEEPER-3598. Junit interrupts tearDown() thread which causes the entire test runner to shutdown --- .../server/quorum/CommitProcessor.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java index 8044e657ea7..c917ec6ab91 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java @@ -18,7 +18,6 @@ package org.apache.zookeeper.server.quorum; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayDeque; import java.util.Deque; import java.util.HashMap; @@ -27,6 +26,7 @@ import java.util.Set; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicInteger; + import org.apache.zookeeper.ZooDefs.OpCode; import org.apache.zookeeper.common.Time; import org.apache.zookeeper.server.ExitCode; @@ -39,6 +39,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; + /** * This RequestProcessor matches the incoming committed requests with the * locally submitted requests. The trick is that locally submitted requests that @@ -624,21 +626,19 @@ public void shutdown() { try { this.join(workerShutdownTimeoutMS); + if (this.isAlive()) { + LOG.warn("CommitProcessor does not shutdown gracefully after " + + "waiting for {} ms, exit to avoid potential " + + "inconsistency issue", workerShutdownTimeoutMS); + System.exit(ExitCode.SHUTDOWN_UNGRACEFULLY.getValue()); + } + + if (nextProcessor != null) { + nextProcessor.shutdown(); + } } catch (InterruptedException e) { LOG.warn("Interrupted while waiting for CommitProcessor to finish"); Thread.currentThread().interrupt(); } - - if (this.isAlive()) { - LOG.warn("CommitProcessor does not shutdown gracefully after " - + "waiting for {} ms, exit to avoid potential " - + "inconsistency issue", workerShutdownTimeoutMS); - System.exit(ExitCode.SHUTDOWN_UNGRACEFULLY.getValue()); - } - - if (nextProcessor != null) { - nextProcessor.shutdown(); - } } - } From 12638ec2a5ebaec8966e1ea640774a7edfe9e0c7 Mon Sep 17 00:00:00 2001 From: Andor Molnar Date: Thu, 14 Nov 2019 23:40:36 +0100 Subject: [PATCH 2/2] ZOOKEEPER-3598. Checkstyle fix --- .../org/apache/zookeeper/server/quorum/CommitProcessor.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java index c917ec6ab91..1b7e867aff5 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/CommitProcessor.java @@ -18,6 +18,7 @@ package org.apache.zookeeper.server.quorum; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayDeque; import java.util.Deque; import java.util.HashMap; @@ -26,7 +27,6 @@ import java.util.Set; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicInteger; - import org.apache.zookeeper.ZooDefs.OpCode; import org.apache.zookeeper.common.Time; import org.apache.zookeeper.server.ExitCode; @@ -39,8 +39,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; - /** * This RequestProcessor matches the incoming committed requests with the * locally submitted requests. The trick is that locally submitted requests that