summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2017-06-09 09:36:56 +0200
committervalerijf <valerijf@yahoo-inc.com>2017-06-09 09:36:56 +0200
commit447871a4c0965704f97a54f0ba5d29eb5084e9f6 (patch)
tree205bdee3c128fcddc70a0aab1b455eac1ebf83a0 /node-repository
parent8a0f7063d9d392477ed04482d81aa1ae5e7729c5 (diff)
Code review: NodeRetirer fixes
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRetirer.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRetirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRetirer.java
index 96e4c8e31e7..1a901509edc 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRetirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRetirer.java
@@ -31,7 +31,7 @@ import java.util.stream.Collectors;
*/
public class NodeRetirer extends Maintainer {
public static final FlavorSpareChecker.SpareNodesPolicy SPARE_NODES_POLICY = flavorSpareCount ->
- flavorSpareCount.getSumOfReadyAmongReplacees() > 2;
+ flavorSpareCount.getNumReadyAmongReplacees() > 2;
private static final long MAX_SIMULTANEOUS_RETIRES_PER_APPLICATION = 1;
private static final Logger log = Logger.getLogger(NodeRetirer.class.getName());
@@ -113,18 +113,18 @@ public class NodeRetirer extends Maintainer {
Optional<Deployment> deployment = deployer.deployFromLocalActive(applicationId, Duration.ofMinutes(30));
if ( ! deployment.isPresent()) continue; // this will be done at another config server
+ long numNodesWantedToRetire = 0;
try (Mutex lock = nodeRepository().lock(applicationId)) {
// Get nodes for current application under lock
List<Node> applicationNodes = nodeRepository().getNodes(applicationId);
Set<Node> retireableNodes = getRetireableNodesForApplication(applicationNodes);
long numNodesAllowedToRetire = getNumberNodesAllowToRetireForApplication(applicationNodes, MAX_SIMULTANEOUS_RETIRES_PER_APPLICATION);
- long numNodesWantedToRetire = 0;
for (Iterator<Node> iterator = retireableNodes.iterator(); iterator.hasNext() && numNodesAllowedToRetire > numNodesWantedToRetire; ) {
Node retireableNode = iterator.next();
if (flavorSpareChecker.canRetireAllocatedNodeWithFlavor(retireableNode.flavor())) {
- log.info("Setting wantToRetire for host " + retireableNode.hostname() +
+ log.info("Setting wantToRetire and wantToDeprovision for host " + retireableNode.hostname() +
" with flavor " + retireableNode.flavor().name() +
" allocated to " + retireableNode.allocation().get().owner() + ". Policy: " +
retirementPolicy.getClass().getSimpleName());
@@ -135,9 +135,8 @@ public class NodeRetirer extends Maintainer {
numNodesWantedToRetire++;
}
}
-
- if (numNodesWantedToRetire > 0) deployment.get().activate();
}
+ if (numNodesWantedToRetire > 0) deployment.get().activate();
}
}