summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-01-02 13:34:21 +0100
committerjonmv <venstad@gmail.com>2023-01-02 13:34:21 +0100
commit146cfc7d87fa26b5ad54103602a1c60908100e1f (patch)
tree2152c351a96fe41fba6fa8b3d414ae5fbf151233 /zkfacade
parent511829756d97ff029e39e3d3ceedb6517ff5d5d9 (diff)
Ensure lock is cleared when lease is invalidated
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
index 8eda57b0476..f4074f9df77 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
@@ -336,14 +336,16 @@ class SingletonManager {
shouldBeActive = false;
}
}
- if (active && ! shouldBeActive) {
+ if ( ! shouldBeActive) {
logger.log(FINE, () -> "Doom value is " + doom);
- try {
- if ( ! singletons.isEmpty()) metrics.deactivation(singletons.peek()::deactivate);
- active = false;
- }
- catch (RuntimeException e) {
- logger.log(WARNING, "Failed to deactivate " + singletons.peek(), e);
+ if (active) {
+ try {
+ if (!singletons.isEmpty()) metrics.deactivation(singletons.peek()::deactivate);
+ active = false;
+ }
+ catch (RuntimeException e) {
+ logger.log(WARNING, "Failed to deactivate " + singletons.peek(), e);
+ }
}
unlock();
}