summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-01-17 14:13:44 +0100
committerMartin Polden <mpolden@mpolden.no>2019-01-17 14:13:44 +0100
commite3c50f15f5508140abaccb22b26fd2c881a93bf4 (patch)
tree6d4abde83d48105988fd9f4d719f1e50aad3ef4a /node-repository
parent1676f9ecdcc3558e1e46990fa80b81d6a4ff7207 (diff)
Move inactive filter to LoadBalancerList
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerList.java7
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java19
2 files changed, 13 insertions, 13 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerList.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerList.java
index dae677d1eaf..0bccc0d3ab6 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerList.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerList.java
@@ -31,6 +31,13 @@ public class LoadBalancerList {
.collect(collectingAndThen(Collectors.toList(), LoadBalancerList::new));
}
+ /** Returns the subset of load balancers that are inactive */
+ public LoadBalancerList inactive() {
+ return loadBalancers.stream()
+ .filter(LoadBalancer::inactive)
+ .collect(collectingAndThen(Collectors.toList(), LoadBalancerList::new));
+ }
+
public List<LoadBalancer> asList() {
return loadBalancers;
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
index 4b66dff3032..115581c86b0 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirer.java
@@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.provision.NodeRepository;
+import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerService;
import com.yahoo.vespa.hosted.provision.persistence.CuratorDatabaseClient;
@@ -12,7 +13,6 @@ import com.yahoo.vespa.hosted.provision.persistence.CuratorDatabaseClient;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -45,15 +45,15 @@ public class LoadBalancerExpirer extends Maintainer {
List<LoadBalancerId> failed = new ArrayList<>();
Exception lastException = null;
try (Lock lock = db.lockLoadBalancers()) {
- for (LoadBalancerId loadBalancer : inactiveLoadBlancers()) {
- if (hasNodes(loadBalancer.application())) { // Defer removal if there are still nodes allocated to application
+ for (LoadBalancer loadBalancer : nodeRepository().loadBalancers().inactive().asList()) {
+ if (hasNodes(loadBalancer.id().application())) { // Defer removal if there are still nodes allocated to application
continue;
}
try {
- service.remove(loadBalancer);
- db.removeLoadBalancer(loadBalancer);
+ service.remove(loadBalancer.id());
+ db.removeLoadBalancer(loadBalancer.id());
} catch (Exception e) {
- failed.add(loadBalancer);
+ failed.add(loadBalancer.id());
lastException = e;
}
}
@@ -73,11 +73,4 @@ public class LoadBalancerExpirer extends Maintainer {
return !nodeRepository().getNodes(application).isEmpty();
}
- private List<LoadBalancerId> inactiveLoadBlancers() {
- return db.readLoadBalancers().entrySet().stream()
- .filter(entry -> entry.getValue().inactive())
- .map(Map.Entry::getKey)
- .collect(Collectors.toList());
- }
-
}