diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-12-15 18:19:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-15 18:19:48 +0100 |
commit | 42cf29fb7452f9d50b6dcbf2cde1102f1543eb6f (patch) | |
tree | 6470dd43ff5a1896476aa29d891eb308793dc733 | |
parent | 873967500b0543b29c4dff0617bc0ef163a3809d (diff) | |
parent | 5b34a6e666b189f4fef6c482fac7a68ea5756ee0 (diff) |
Merge pull request #15827 from vespa-engine/mpolden/join-thread
Wait for quorum peer thread on shutdown
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 |