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..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 @@ -624,21 +624,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(); - } } - }