summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test/java/com/yahoo
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo')
-rw-r--r--vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java2
-rw-r--r--vespajlib/src/test/java/com/yahoo/concurrent/maintenance/MaintainerTest.java35
-rw-r--r--vespajlib/src/test/java/com/yahoo/concurrent/maintenance/TestMaintainer.java6
3 files changed, 19 insertions, 24 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
index 01560c050ff..5700be36413 100644
--- a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
+++ b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
@@ -84,7 +84,7 @@ public class JobControlTest {
private static class NoopJobMetrics extends JobMetrics {
@Override
- protected void recordCompletion(String job, Long incompleteRuns, double successFactor) { }
+ public void completed(String job, double successFactor) { }
}
diff --git a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/MaintainerTest.java b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/MaintainerTest.java
index d2db380f4a1..7c196dc6627 100644
--- a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/MaintainerTest.java
+++ b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/MaintainerTest.java
@@ -7,7 +7,6 @@ import org.junit.Test;
import java.time.Duration;
import java.time.Instant;
import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
import static org.junit.Assert.assertEquals;
@@ -16,6 +15,8 @@ import static org.junit.Assert.assertEquals;
*/
public class MaintainerTest {
+ private static final double delta = 0.000001;
+
private final JobControl jobControl = new JobControl(new JobControlStateMock());
@Test
@@ -45,40 +46,34 @@ public class MaintainerTest {
TestJobMetrics jobMetrics = new TestJobMetrics();
TestMaintainer maintainer = new TestMaintainer(null, jobControl, jobMetrics);
- // Maintainer fails twice in a row
- maintainer.successOnNextRun(false).run();
- assertEquals(1, jobMetrics.consecutiveFailures.get());
- maintainer.successOnNextRun(false).run();
- assertEquals(2, jobMetrics.consecutiveFailures.get());
-
- // Maintainer runs successfully
- maintainer.successOnNextRun(true).run();
- assertEquals(0, jobMetrics.consecutiveFailures.get());
-
- // Maintainer runs successfully again
- maintainer.run();
- assertEquals(0, jobMetrics.consecutiveFailures.get());
+ maintainer.successOnNextRun(1.0).run();
+ assertEquals(1, jobMetrics.successFactor, delta);
+ maintainer.successOnNextRun(0.0).run();
+ assertEquals(0, jobMetrics.successFactor, delta);
+ maintainer.successOnNextRun(0.1).run();
+ assertEquals(0.1, jobMetrics.successFactor, delta);
// Maintainer throws
maintainer.throwOnNextRun(new RuntimeException()).run();
- assertEquals(1, jobMetrics.consecutiveFailures.get());
+ assertEquals(0, jobMetrics.successFactor, delta);
// Maintainer recovers
maintainer.throwOnNextRun(null).run();
- assertEquals(0, jobMetrics.consecutiveFailures.get());
+ maintainer.successOnNextRun(1.0).run();
+ assertEquals(1, jobMetrics.successFactor, delta);
// Lock exception is treated as a failure
maintainer.throwOnNextRun(new UncheckedTimeoutException()).run();
- assertEquals(1, jobMetrics.consecutiveFailures.get());
+ assertEquals(0, jobMetrics.successFactor, delta);
}
private static class TestJobMetrics extends JobMetrics {
- AtomicLong consecutiveFailures = new AtomicLong();
+ double successFactor = 0.0;
@Override
- protected void recordCompletion(String job, Long incompleteRuns, double successFactor) {
- consecutiveFailures.set(incompleteRuns);
+ public void completed(String job, double successFactor) {
+ this.successFactor = successFactor;
}
}
diff --git a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/TestMaintainer.java b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/TestMaintainer.java
index 7424b17cab2..a109064e101 100644
--- a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/TestMaintainer.java
+++ b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/TestMaintainer.java
@@ -11,7 +11,7 @@ import java.util.List;
class TestMaintainer extends Maintainer {
private int totalRuns = 0;
- private boolean success = true;
+ private double success = 1.0;
private RuntimeException exceptionToThrow = null;
public TestMaintainer(String name, JobControl jobControl, JobMetrics jobMetrics) {
@@ -22,7 +22,7 @@ class TestMaintainer extends Maintainer {
return totalRuns;
}
- public TestMaintainer successOnNextRun(boolean success) {
+ public TestMaintainer successOnNextRun(double success) {
this.success = success;
return this;
}
@@ -36,7 +36,7 @@ class TestMaintainer extends Maintainer {
protected double maintain() {
if (exceptionToThrow != null) throw exceptionToThrow;
totalRuns++;
- return success ? 1.0 : 0.0;
+ return success;
}
}