diff options
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java | 8 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 6 |
2 files changed, 5 insertions, 9 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java index d21f7cfe5ae..327dfd408b8 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java @@ -1,7 +1,6 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.provision; -import com.yahoo.transaction.Mutex; import com.yahoo.transaction.NestedTransaction; import java.io.Closeable; @@ -33,12 +32,7 @@ public class ApplicationTransaction implements Closeable { @Override public void close() { - try { - transaction.commit(); - } - finally { - lock.close(); - } + lock.close(); } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index 5d8cd43cc44..7121c5371a3 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -505,12 +505,13 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye if (applicationTransaction.isPresent()) { hostProvisioner.get().remove(applicationTransaction.get()); + applicationTransaction.get().nested().commit(); } else { transaction.commit(); } return true; } finally { - applicationTransaction.ifPresent(ApplicationTransaction::close); // Commits transaction and releases lock + applicationTransaction.ifPresent(ApplicationTransaction::close); } } @@ -734,12 +735,13 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye hostProvisioner.get().activate(session.getAllocatedHosts().getHosts(), new ActivationContext(session.getSessionId()), applicationTransaction.get()); + applicationTransaction.get().nested().commit(); } else { transaction.commit(); } return new Activation(waiter, activeSession); } finally { - applicationTransaction.ifPresent(ApplicationTransaction::close); // Commits transaction and releases lock + applicationTransaction.ifPresent(ApplicationTransaction::close); } } |