summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-11-11 12:28:44 +0100
committerMartin Polden <mpolden@mpolden.no>2020-11-11 12:28:44 +0100
commit11acb49ff5a35430e969a6bbee569db90346f1dc (patch)
tree1ea4da611aabd9c88f40a9b9d3dab3f9614ba652
parent9d824c59c4548e64431f76d0a1302dd3fc7884cb (diff)
Avoid exposing ApplicationTransaction lock
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ApplicationTransaction.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java8
2 files changed, 3 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 327dfd408b8..64edfa72e04 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
@@ -23,10 +23,6 @@ public class ApplicationTransaction implements Closeable {
public ApplicationId application() { return lock.application(); }
- /** Returns the lock held by this */
- // Usage of this might indicate we are writing changes directly (outside of the transaction) and should probably be avoided
- public ProvisionLock lock() { return lock; }
-
/** Returns the NestedTransaction of this */
public NestedTransaction nested() { return transaction; }
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
index 69ee9bbe65b..206aa077027 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
@@ -6,7 +6,6 @@ import com.yahoo.config.provision.ApplicationTransaction;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
-import com.yahoo.config.provision.ProvisionLock;
import com.yahoo.config.provision.exception.LoadBalancerServiceException;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.vespa.flags.BooleanFlag;
@@ -83,7 +82,7 @@ public class LoadBalancerProvisioner {
try (var lock = db.lock(application)) {
ClusterSpec.Id clusterId = effectiveId(cluster);
List<Node> nodes = nodesOf(clusterId, application);
- provision(application, clusterId, nodes, false, new ProvisionLock(application, lock));
+ provision(application, clusterId, nodes, false);
}
}
@@ -100,7 +99,7 @@ public class LoadBalancerProvisioner {
public void activate(Set<ClusterSpec> clusters, ApplicationTransaction transaction) {
for (var cluster : loadBalancedClustersOf(transaction.application()).entrySet()) {
// Provision again to ensure that load balancer instance is re-configured with correct nodes
- provision(transaction.application(), cluster.getKey(), cluster.getValue(), true, transaction.lock());
+ provision(transaction.application(), cluster.getKey(), cluster.getValue(), true);
}
// Deactivate any surplus load balancers, i.e. load balancers for clusters that have been removed
var surplusLoadBalancers = surplusLoadBalancersOf(transaction.application(), clusters.stream()
@@ -151,8 +150,7 @@ public class LoadBalancerProvisioner {
}
/** Idempotently provision a load balancer for given application and cluster */
- private void provision(ApplicationId application, ClusterSpec.Id clusterId, List<Node> nodes, boolean activate,
- @SuppressWarnings("unused") ProvisionLock lock) {
+ private void provision(ApplicationId application, ClusterSpec.Id clusterId, List<Node> nodes, boolean activate) {
var id = new LoadBalancerId(application, clusterId);
var now = nodeRepository.clock().instant();
var loadBalancer = db.readLoadBalancer(id);