summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-02-12 08:55:42 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-02-12 08:55:42 +0100
commitec15cb18463a5efb0bc8997c9325670db2f455bb (patch)
treecdc921c8d089ba35d8e9b06bebb435178f7014d9
parentae92c4dee30c21f09d5e015f30c14f388eb43f92 (diff)
More code reuse in CuratorDb locks
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java36
1 files changed, 7 insertions, 29 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
index 2ec5873ef58..0f43aaece7f 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
@@ -120,6 +120,7 @@ public class CuratorDb {
/** Creates a reentrant lock */
private Lock lock(Path path, Duration timeout) {
+ curator.create(path);
Lock lock = locks.computeIfAbsent(path, (pathArg) -> new Lock(pathArg.getAbsolute(), curator));
lock.acquire(timeout);
return lock;
@@ -502,59 +503,36 @@ public class CuratorDb {
// -------------- Paths ---------------------------------------------------
private Path lockPath(TenantName tenant) {
- Path lockPath = lockRoot
+ return lockRoot
.append(tenant.value());
- curator.create(lockPath);
- return lockPath;
}
private Path lockPath(ApplicationId application) {
- Path lockPath = lockRoot
- .append(application.tenant().value())
+ return lockPath(application.tenant())
.append(application.application().value())
.append(application.instance().value());
- curator.create(lockPath);
- return lockPath;
}
private Path lockPath(ApplicationId application, ZoneId zone) {
- Path lockPath = lockRoot
- .append(application.tenant().value())
- .append(application.application().value())
- .append(application.instance().value())
+ return lockPath(application)
.append(zone.environment().value())
.append(zone.region().value());
- curator.create(lockPath);
- return lockPath;
}
private Path lockPath(ApplicationId application, JobType type) {
- Path lockPath = lockRoot
- .append(application.tenant().value())
- .append(application.application().value())
- .append(application.instance().value())
+ return lockPath(application)
.append(type.jobName());
- curator.create(lockPath);
- return lockPath;
}
private Path lockPath(ApplicationId application, JobType type, Step step) {
- Path lockPath = lockRoot
- .append(application.tenant().value())
- .append(application.application().value())
- .append(application.instance().value())
- .append(type.jobName())
+ return lockPath(application, type)
.append(step.name());
- curator.create(lockPath);
- return lockPath;
}
private Path lockPath(String provisionId) {
- Path lockPath = lockRoot
+ return lockRoot
.append(provisionStatePath())
.append(provisionId);
- curator.create(lockPath);
- return lockPath;
}
private static Path inactiveJobsPath() {