diff options
author | Jon Bratseth <bratseth@oath.com> | 2020-05-20 14:59:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-20 14:59:31 +0200 |
commit | 793680e23ebc3882520ec4aa8af3bc1393d1d870 (patch) | |
tree | 87433d3c6571b380a13042d286e727714f7e51df /node-repository/src/main | |
parent | 91390ac64fc66408f1787edeed07efda1edd0223 (diff) | |
parent | e97e4abd8f640ff81954bf94053b2d4139e3305b (diff) |
Merge pull request #13324 from vespa-engine/bratseth/remove-groups-immediately
Bratseth/remove groups immediately
Diffstat (limited to 'node-repository/src/main')
3 files changed, 10 insertions, 14 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java index 6097688df72..1b2f73a2f5f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java @@ -161,4 +161,9 @@ public class NodeList extends AbstractFilteringList<Node, NodeList> { return new NodeList(nodes, false); } + @Override + public String toString() { + return asList().toString(); + } + } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java index 4452fc21c52..ad3dbc7eaa5 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java @@ -73,7 +73,7 @@ class Preparer { replace(acceptedNodes, accepted); } moveToActiveGroup(surplusNodes, wantedGroups, cluster.group()); - replace(acceptedNodes, retire(surplusNodes)); + acceptedNodes.removeAll(surplusNodes); return acceptedNodes; } @@ -140,13 +140,4 @@ class Preparer { return highestIndex; } - /** Returns retired copies of the given nodes, unless they are removable */ - private List<Node> retire(List<Node> nodes) { - List<Node> retired = new ArrayList<>(nodes.size()); - for (Node node : nodes) { - if ( ! node.allocation().get().isRemovable()) - retired.add(node.retire(Agent.application, nodeRepository.clock().instant())); - } - return retired; - } } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java index a60dee6bb0c..3fc60c1192d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java @@ -74,14 +74,14 @@ class PrioritizableNode implements Comparable<PrioritizableNode> { if (!this.isSurplusNode && other.isSurplusNode) return -1; if (!other.isSurplusNode && this.isSurplusNode) return 1; - // Choose inactive nodes - if (this.node.state() == Node.State.inactive && other.node.state() != Node.State.inactive) return -1; - if (other.node.state() == Node.State.inactive && this.node.state() != Node.State.inactive) return 1; - // Choose reserved nodes from a previous allocation attempt (the exist in node repo) if (this.isInNodeRepoAndReserved() && ! other.isInNodeRepoAndReserved()) return -1; if (other.isInNodeRepoAndReserved() && ! this.isInNodeRepoAndReserved()) return 1; + // Choose inactive nodes + if (this.node.state() == Node.State.inactive && other.node.state() != Node.State.inactive) return -1; + if (other.node.state() == Node.State.inactive && this.node.state() != Node.State.inactive) return 1; + // Choose ready nodes if (this.node.state() == Node.State.ready && other.node.state() != Node.State.ready) return -1; if (other.node.state() == Node.State.ready && this.node.state() != Node.State.ready) return 1; |