diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-02-12 08:55:42 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-02-12 08:55:42 +0100 |
commit | ec15cb18463a5efb0bc8997c9325670db2f455bb (patch) | |
tree | cdc921c8d089ba35d8e9b06bebb435178f7014d9 | |
parent | ae92c4dee30c21f09d5e015f30c14f388eb43f92 (diff) |
More code reuse in CuratorDb locks
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java | 36 |
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() { |