aboutsummaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2022-10-14 16:50:40 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2022-10-14 16:50:40 +0200
commit296dc08b1b213b42c379f547325b923159afa07a (patch)
tree6e42a1d112775c5b886640af8c7763ad9ad1c0a8 /zkfacade
parent86eda2f92b594723b679ca137eae847c4668456c (diff)
Support locks with TTL in ZK curator
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java9
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;