summaryrefslogtreecommitdiffstats
path: root/zookeeper-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-02-19 11:07:51 +0100
committerHarald Musum <musum@verizonmedia.com>2021-02-19 11:07:51 +0100
commit58a829cd024b3ee088aec14952969f3c686b7b8a (patch)
tree3f2f52e42d87d6c8790d110fe4e76b740ad16221 /zookeeper-server
parent9d9c5fd49909b7906a22a4f092037652c126751b (diff)
Die if waiting for shutdown takes longer than 1 minute, and log when shutting down server
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java b/zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java
index 86325f587eb..ba11286404a 100644
--- a/zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java
+++ b/zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java
@@ -8,6 +8,9 @@ import org.apache.zookeeper.server.quorum.QuorumPeerMain;
import java.io.IOException;
import java.nio.file.Path;
+import java.time.Duration;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Starts/stops a ZooKeeper server. Extends QuorumPeerMain to be able to call initializeAndRun() and wraps
@@ -17,15 +20,19 @@ import java.nio.file.Path;
*/
class VespaQuorumPeer extends QuorumPeerMain {
+ private static final Logger log = java.util.logging.Logger.getLogger(Reconfigurer.class.getName());
+ private static final Duration timeToWaitForShutdown = Duration.ofSeconds(60);
+
public void start(Path path) {
initializeAndRun(new String[]{ path.toFile().getAbsolutePath()});
}
public void shutdown() {
if (quorumPeer != null) {
+ log.log(Level.INFO, "Shutting down ZooKeeper server");
try {
quorumPeer.shutdown();
- quorumPeer.join(); // Wait for shutdown to complete
+ quorumPeer.join(timeToWaitForShutdown.toMillis()); // Wait for shutdown to complete
} catch (RuntimeException|InterruptedException e) {
// If shutdown fails, we have no other option than forcing the JVM to stop and letting it be restarted.
//