diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-08-22 17:03:49 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-08-22 17:03:49 +0200 |
commit | 75a23ce01938a38b2c6b29d7f92f8cc5da378a7a (patch) | |
tree | d82c9f06117f72e0b29b2d777fcd4f0bd1426a08 /container-search/src/test/java/com/yahoo/search/dispatch | |
parent | 591909a0ceaf0de0d89f2aeb0d60d36dbe2a0a62 (diff) |
Cap sampleWeight at 50%
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/dispatch')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java index 1499a4bb324..283c2bc743a 100644 --- a/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java +++ b/container-search/src/test/java/com/yahoo/search/dispatch/LoadBalancerTest.java @@ -27,7 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; * @author ollivir */ public class LoadBalancerTest { - + private static final double delta = 0.0000001; @Test void requireThatLoadBalancerServesSingleNodeSetups() { Node n1 = new Node(0, "test-node1", 0); @@ -212,7 +212,6 @@ public class LoadBalancerTest { @Test public void requireDecayByTimeToDependOnlyOnTime() { - double delta = 0.0000001; GroupStatus.Decayer decayer = new AdaptiveScheduler.DecayByTime(Duration.ofMillis(2), RequestDuration.of(Instant.EPOCH, Duration.ZERO)); assertEquals(0.002, decayer.averageSearchTime(), delta); decayer.decay(RequestDuration.of(Instant.ofEpochMilli(1000), Duration.ofMillis(10))); @@ -227,13 +226,21 @@ public class LoadBalancerTest { assertEquals(0.0059959552, decayer.averageSearchTime(), delta); decayer.decay(RequestDuration.of(Instant.ofEpochMilli(3000), Duration.ofMillis(10))); assertEquals(0.006076036096, decayer.averageSearchTime(), delta); - decayer.decay(RequestDuration.of(Instant.ofEpochMilli(6000), Duration.ofMillis(10))); - assertEquals(0.0084304144384, decayer.averageSearchTime(), delta); + decayer.decay(RequestDuration.of(Instant.ofEpochMilli(5000), Duration.ofMillis(10))); + assertEquals(0.0076456216576000005, decayer.averageSearchTime(), delta); assertEquals(110, countRequestsToReach90p(Duration.ofMillis(100), Duration.ofMillis(10))); assertEquals(55, countRequestsToReach90p(Duration.ofMillis(200), Duration.ofMillis(10))); assertEquals(11, countRequestsToReach90p(Duration.ofMillis(1000), Duration.ofMillis(10))); } + @Test + public void requireDecayByTimeToNotJumpTooFar() { + GroupStatus.Decayer decayer = new AdaptiveScheduler.DecayByTime(Duration.ofMillis(2), RequestDuration.of(Instant.EPOCH, Duration.ZERO)); + assertEquals(0.002, decayer.averageSearchTime(), delta); + decayer.decay(RequestDuration.of(Instant.ofEpochMilli(10000), Duration.ofMillis(10))); + assertEquals(0.006, decayer.averageSearchTime(), delta); // Capped at 50% sampleWeight + } + private static void updateSearchTime(GroupStatus gs, RequestDuration time) { gs.allocate(); gs.release(true, time); |