summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-05-25 07:43:15 +0200
committerHarald Musum <musum@oath.com>2018-05-25 07:43:15 +0200
commitb4eaecf109d2df978233d4253f29c28c743dc9a5 (patch)
tree73e89b9104b30de964904577c86d2e497a5d8676 /configserver
parent751caeacdcb939d294fc158c2d0a5eda4d387c92 (diff)
Really take lock before running maintainer
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java
index 090955ad555..a46cce03650 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/Maintainer.java
@@ -39,8 +39,7 @@ public abstract class Maintainer extends AbstractComponent implements Runnable {
@SuppressWarnings("try")
public void run() {
try {
- Path path = lockRoot.append(name());
- try (Lock lock = new Lock(path.getAbsolute(), curator)) {
+ try (Lock lock = lock(lockRoot.append(name()))) {
maintain();
}
} catch (UncheckedTimeoutException e) {
@@ -50,6 +49,12 @@ public abstract class Maintainer extends AbstractComponent implements Runnable {
}
}
+ private Lock lock(Path path) {
+ Lock lock = new Lock(path.getAbsolute(), curator);
+ lock.acquire(Duration.ofSeconds(1));
+ return lock;
+ }
+
@Override
public void deconstruct() {
this.service.shutdown();