From 5b34a6e666b189f4fef6c482fac7a68ea5756ee0 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Tue, 15 Dec 2020 16:57:48 +0100 Subject: Wait for quorum peer thread on shutdown --- .../src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java | 3 ++- .../src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java index 2eff37a1b4c..86325f587eb 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java @@ -25,7 +25,8 @@ class VespaQuorumPeer extends QuorumPeerMain { if (quorumPeer != null) { try { quorumPeer.shutdown(); - } catch (RuntimeException e) { + quorumPeer.join(); // 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. // // When a VespaZooKeeperServer component receives a new config, the container will try to start a new 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 2eff37a1b4c..86325f587eb 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 @@ -25,7 +25,8 @@ class VespaQuorumPeer extends QuorumPeerMain { if (quorumPeer != null) { try { quorumPeer.shutdown(); - } catch (RuntimeException e) { + quorumPeer.join(); // 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. // // When a VespaZooKeeperServer component receives a new config, the container will try to start a new -- cgit v1.2.3