summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-23 17:13:55 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-23 17:13:55 +0200
commit5c7cbf31879ca30e200550a5f1c52a11ec69bd40 (patch)
treec2ae2e0e83cdcfb2036da5fa13c98ea3c25f91cd
parentdc540d9eb6947990e44b5189dddbf5970a68f208 (diff)
Set upgrades per minute to non-zero value in tests
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java2
3 files changed, 6 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
index c2ffed47612..c89d74864cb 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
@@ -122,12 +122,12 @@ public class Upgrader extends Maintainer {
}
/** Returns the number of applications to upgrade in the interval containing now */
- static int numberOfApplicationsToUpgrade(long intervalMillis, long nowMillis, double upgradesPerMinute) {
+ static int numberOfApplicationsToUpgrade(long intervalMillis, long nowMillis, double upgradesPerMinute) {
long intervalStart = Math.round(nowMillis / (double) intervalMillis) * intervalMillis;
double upgradesPerMilli = upgradesPerMinute / 60_000;
- int upgradesAtStart = (int) (intervalStart * upgradesPerMilli);
- int upgradesAtEnd = (int) ((intervalStart + intervalMillis) * upgradesPerMilli);
- return upgradesAtEnd - upgradesAtStart;
+ long upgradesAtStart = (long) (intervalStart * upgradesPerMilli);
+ long upgradesAtEnd = (long) ((intervalStart + intervalMillis) * upgradesPerMilli);
+ return (int) (upgradesAtEnd - upgradesAtStart);
}
/** Returns number of upgrades per minute */
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java
index 61b393efbff..f9639835cf0 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTester.java
@@ -75,6 +75,7 @@ public class DeploymentTester {
JobControl jobControl = new JobControl(tester.curator());
this.upgrader = new Upgrader(tester.controller(), maintenanceInterval, jobControl, tester.curator());
+ this.upgrader.setUpgradesPerMinute(1); // Anything that makes it at least one for any maintenance period is fine.
this.outstandingChangeDeployer = new OutstandingChangeDeployer(tester.controller(), maintenanceInterval, jobControl);
this.readyJobTrigger = new ReadyJobsTrigger(tester.controller(), maintenanceInterval, jobControl);
this.nameServiceDispatcher = new NameServiceDispatcher(tester.controller(), Duration.ofHours(12),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
index 8a1bbcd09d5..912d285fb52 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
@@ -54,8 +54,8 @@ public class ContainerControllerTester {
public ContainerControllerTester(JDisc container, String responseFilePath) {
containerTester = new ContainerTester(container, responseFilePath);
CuratorDb curatorDb = controller().curator();
- curatorDb.writeUpgradesPerMinute(100);
upgrader = new Upgrader(controller(), Duration.ofDays(1), new JobControl(curatorDb), curatorDb);
+ upgrader.setUpgradesPerMinute(100); // Anything to make it more than one per maintenance interval.
}
public Controller controller() { return containerTester.controller(); }