diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-01-17 14:13:44 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-01-17 14:13:44 +0100 |
commit | e3c50f15f5508140abaccb22b26fd2c881a93bf4 (patch) | |
tree | 6d4abde83d48105988fd9f4d719f1e50aad3ef4a /node-repository | |
parent | 1676f9ecdcc3558e1e46990fa80b81d6a4ff7207 (diff) |
Move inactive filter to LoadBalancerList
Diffstat (limited to 'node-repository')
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()); - } - } |