summaryrefslogtreecommitdiffstats
path: root/node-repository/src/main
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2020-05-20 14:59:31 +0200
committerGitHub <noreply@github.com>2020-05-20 14:59:31 +0200
commit793680e23ebc3882520ec4aa8af3bc1393d1d870 (patch)
tree87433d3c6571b380a13042d286e727714f7e51df /node-repository/src/main
parent91390ac64fc66408f1787edeed07efda1edd0223 (diff)
parente97e4abd8f640ff81954bf94053b2d4139e3305b (diff)
Merge pull request #13324 from vespa-engine/bratseth/remove-groups-immediately
Bratseth/remove groups immediately
Diffstat (limited to 'node-repository/src/main')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeList.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java11
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/PrioritizableNode.java8
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;