diff options
author | valerijf <valerijf@yahoo-inc.com> | 2017-06-09 09:36:56 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2017-06-09 09:36:56 +0200 |
commit | 447871a4c0965704f97a54f0ba5d29eb5084e9f6 (patch) | |
tree | 205bdee3c128fcddc70a0aab1b455eac1ebf83a0 /node-repository | |
parent | 8a0f7063d9d392477ed04482d81aa1ae5e7729c5 (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.java | 9 |
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(); } } |