summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-01-15 23:15:12 +0100
committerGitHub <noreply@github.com>2020-01-15 23:15:12 +0100
commit292ccf2565df102166693ee5e14c3f6b61b3a50c (patch)
treee8190c070e75fd0263a3f7d06525f55c686de789 /node-repository
parent891e243f84eab77a08ff3e42a6063e3fb3d74a87 (diff)
Revert "Fail deployment if the wrong web service port is configured"
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java
index d1e15c78a47..a54287ed082 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java
@@ -41,7 +41,7 @@ public class NodeRebooter extends Maintainer {
@Override
protected void maintain() {
- // Reboot candidates: Nodes in long-term states, where we know we can safely orchestrate a reboot
+ // Reboot candidates: Nodes in long-term states, which we know can safely orchestrate a reboot
List<Node> nodesToReboot = nodeRepository().getNodes(Node.State.active, Node.State.ready).stream()
.filter(node -> node.flavor().getType() != Flavor.Type.DOCKER_CONTAINER)
.filter(this::shouldReboot)
@@ -66,11 +66,13 @@ public class NodeRebooter extends Maintainer {
if (overdue.isEmpty()) // should never happen as all !docker-container should have provisioned timestamp
return random.nextDouble() < interval().getSeconds() / (double) rebootInterval.getSeconds();
- if (overdue.get().isNegative()) return false;
+ if (overdue.get().isNegative())
+ return false;
// Use a probability such that each maintain() schedules the same number of reboots,
// as long as 0 <= overdue <= rebootInterval, with the last maintain() in that interval
// naturally scheduling the remaining with probability 1.
+
int configServers = nodeRepository().database().cluster().size();
long secondsRemaining = Math.max(0, rebootInterval.getSeconds() - overdue.get().getSeconds());
double runsRemaining = configServers * secondsRemaining / (double) interval().getSeconds();