diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-11-11 12:28:44 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-11-11 12:28:44 +0100 |
commit | 11acb49ff5a35430e969a6bbee569db90346f1dc (patch) | |
tree | 1ea4da611aabd9c88f40a9b9d3dab3f9614ba652 | |
parent | 9d824c59c4548e64431f76d0a1302dd3fc7884cb (diff) |
Avoid exposing ApplicationTransaction lock
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); |