summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-06-27 10:45:59 +0200
committerjonmv <venstad@gmail.com>2023-06-27 10:45:59 +0200
commit8361d98b46bd25f6113d50624fd26e8b73f765b7 (patch)
tree6759773d7153f758514c0f1f3e2cc9b0aaad449d
parent16a5e8e11248c4a9e6c00421ba30caca8a1e46eb (diff)
Do not take tenant-host lock in infra-deployer
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
index 35b2fef2c78..1f424a1e1d5 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
@@ -89,23 +89,20 @@ public class InfraDeployerImpl implements InfraDeployer {
public void prepare() {
if (prepared) return;
- try (Mutex lock = nodeRepository.applications().lock(application.getApplicationId())) {
- NodeType nodeType = application.getCapacity().type();
- Version targetVersion = infrastructureVersions.getTargetVersionFor(nodeType);
- hostSpecs = provisioner.prepare(application.getApplicationId(),
- application.getClusterSpecWithVersion(targetVersion),
- application.getCapacity(),
- logger::log);
-
- prepared = true;
- }
+ NodeType nodeType = application.getCapacity().type();
+ Version targetVersion = infrastructureVersions.getTargetVersionFor(nodeType);
+ hostSpecs = provisioner.prepare(application.getApplicationId(),
+ application.getClusterSpecWithVersion(targetVersion),
+ application.getCapacity(),
+ logger::log);
+
+ prepared = true;
}
@Override
public long activate() {
+ prepare();
try (var lock = provisioner.lock(application.getApplicationId())) {
- prepare();
-
if (hostSpecs.isEmpty()) {
logger.log(Level.FINE, () -> "No nodes to provision for " + application.getCapacity().type() + ", removing application");
removeApplication(application.getApplicationId());