diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-11-14 11:05:36 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-11-14 11:05:36 +0100 |
commit | b4dd01400a045c16f2ff0302f735d2c62d4d1f57 (patch) | |
tree | 294e7ed36504121db4e9a7c9ab223f6cbcd4e38a /node-repository | |
parent | b2be7d18f2b540294db374a4740500cdb24650a1 (diff) |
Do not use discrete probabilities
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java | 9 |
1 files changed, 3 insertions, 6 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 f84c6ec430a..d81d01bc941 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 @@ -74,12 +74,9 @@ public class NodeRebooter extends Maintainer { // naturally scheduling the remaining with probability 1. int configServers = 3; - long runs = Math.max(1L, Math.round(rebootInterval.toSeconds() * configServers / (double) interval().toSeconds())); - - double progressFraction = overdue.get().getSeconds() / (double) rebootInterval.getSeconds(); - long currentRun = Math.max(1, Math.min(Math.round(progressFraction * runs), runs)); - - double probability = 1.0 / (runs + 1 - currentRun); + long secondsRemaining = Math.max(0, rebootInterval.getSeconds() - overdue.get().getSeconds()); + double runsRemaining = configServers * secondsRemaining / (double) interval().getSeconds(); + double probability = 1 / (1 + runsRemaining); return random.nextDouble() < probability; } |