summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/Rotations.java8
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorTransaction.java5
2 files changed, 10 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/Rotations.java b/configserver/src/main/java/com/yahoo/vespa/config/server/Rotations.java
index 54d522e0d63..b8a0d344f09 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/Rotations.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/Rotations.java
@@ -66,10 +66,12 @@ public class Rotations {
}
}
- /** Returns a transaction which deletes these rotations */
+ /** Returns a transaction which deletes these rotations if they exist */
public CuratorTransaction delete(ApplicationId applicationId) {
- return CuratorTransaction.from(CuratorOperations.delete(path.append(applicationId.serializedForm()).getAbsolute()),
- curator);
+ Path rotationsPath = path.append(applicationId.serializedForm());
+ if ( ! curator.exists(rotationsPath)) return CuratorTransaction.empty(curator);
+
+ return CuratorTransaction.from(CuratorOperations.deleteOrThrow(rotationsPath.getAbsolute()), curator);
}
}
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorTransaction.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorTransaction.java
index 5624f103210..c0d4843f435 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorTransaction.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/transaction/CuratorTransaction.java
@@ -19,6 +19,11 @@ public class CuratorTransaction extends AbstractTransaction<CuratorOperation> {
this.curator = curator;
}
+ /** Returns an empty curator transaction */
+ public static CuratorTransaction empty(Curator curator) {
+ return new CuratorTransaction(curator);
+ }
+
/** Returns a curator transaction having a single operation */
public static CuratorTransaction from(CuratorOperation operation, Curator curator) {
CuratorTransaction transaction = new CuratorTransaction(curator);