diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-10-14 16:50:40 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2022-10-14 16:50:40 +0200 |
commit | 296dc08b1b213b42c379f547325b923159afa07a (patch) | |
tree | 6e42a1d112775c5b886640af8c7763ad9ad1c0a8 /zkfacade | |
parent | 86eda2f92b594723b679ca137eae847c4668456c (diff) |
Support locks with TTL in ZK curator
Diffstat (limited to 'zkfacade')
-rw-r--r-- | zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java index ab35ccf545e..ab0c77746fc 100644 --- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java +++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java @@ -354,14 +354,17 @@ public class Curator extends AbstractComponent implements AutoCloseable { } } - /** Create and acquire a re-entrant lock in given path */ - public Lock lock(Path path, Duration timeout) { - create(path); + /** Create and acquire a re-entrant lock in given path with a TTL */ + public Lock lock(Path path, Duration timeout, Duration ttl) { + create(path, ttl); Lock lock = locks.computeIfAbsent(path, (pathArg) -> new Lock(pathArg.getAbsolute(), this)); lock.acquire(timeout); return lock; } + /** Create and acquire a re-entrant lock in given path */ + public Lock lock(Path path, Duration timeout) { return lock(path, timeout, null); } + /** Returns the curator framework API */ public CuratorFramework framework() { return curatorFramework; |