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

Reply via email to