This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit 46b4ccd4fe4b49c0bd33811605ef98e539ea41da Author: zyl <[email protected]> AuthorDate: Tue Jan 12 20:01:55 2021 +0800 SCB-2178 Improve algorithm of loadBalance strage WeightedResponse #修改测试用例,由于算法中使用了1分钟时间窗口采样来替代原来的累积采样, #导致原来的测试用例,不能覆盖现有逻辑。新修改的地方:通过控制情况的时间分布, #来达到触发1分钟时间窗口的变化导致策略变化。 --- .../servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java index 10dfed3..fe02642 100644 --- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java +++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java @@ -53,7 +53,7 @@ public class TestWeightedResponseTimeRuleExt { } @Test - public void testWeighed() { + public void testWeighed() throws InterruptedException { WeightedResponseTimeRuleExt rule = new WeightedResponseTimeRuleExt(); LoadBalancer loadBalancer = new LoadBalancer(rule, "testService"); List<ServiceCombServer> servers = new ArrayList<>(); @@ -73,10 +73,12 @@ public class TestWeightedResponseTimeRuleExt { } else { server2.incrementAndGet(); } + //此处是为了控制请求的时间窗口大小,使得策略中1分钟大小的时间窗口生效,并产生变化 + Thread.sleep(1); } double percent = (double) server1.get() / (server2.get() + server1.get()); System.out.println("percent" + percent); - Assert.assertEquals("actually percent: " + percent, 0.70d < percent, percent < 0.90d); + Assert.assertEquals("actually percent: " + percent, 0.50d < percent, percent < 0.90d); } @Test
