aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-12-15 18:19:48 +0100
committerGitHub <noreply@github.com>2020-12-15 18:19:48 +0100
commit42cf29fb7452f9d50b6dcbf2cde1102f1543eb6f (patch)
tree6470dd43ff5a1896476aa29d891eb308793dc733
parent873967500b0543b29c4dff0617bc0ef163a3809d (diff)
parent5b34a6e666b189f4fef6c482fac7a68ea5756ee0 (diff)
Merge pull request #15827 from vespa-engine/mpolden/join-thread
Wait for quorum peer thread on shutdown
-rw-r--r--zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java3
-rw-r--r--zookeeper-server/zookeeper-server-3.6.2/src/main/java/com/yahoo/vespa/zookeeper/VespaQuorumPeer.java3
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