diff options
author | Harald Musum <musum@oath.com> | 2018-05-25 07:43:15 +0200 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2018-05-25 07:43:15 +0200 |
commit | b4eaecf109d2df978233d4253f29c28c743dc9a5 (patch) | |
tree | 73e89b9104b30de964904577c86d2e497a5d8676 /configserver | |
parent | 751caeacdcb939d294fc158c2d0a5eda4d387c92 (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.java | 9 |
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(); |