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 806eb1d04e4635429fe46c9bdc38d025fdb893ba
Author: liubao <[email protected]>
AuthorDate: Sun Jun 19 13:51:29 2022 +0800

    [SCB-2581]SlidingWindowType is not properly read from configuration
---
 .../servicecomb/governance/policy/CircuitBreakerPolicy.java  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
 
b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
index 20a4906d7..1785fc652 100644
--- 
a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
+++ 
b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
@@ -16,13 +16,13 @@
  */
 package org.apache.servicecomb.governance.policy;
 
+import java.time.Duration;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.servicecomb.governance.utils.GovernanceUtils;
 
 import 
io.github.resilience4j.circuitbreaker.CircuitBreakerConfig.SlidingWindowType;
 
-import java.time.Duration;
-
 public class CircuitBreakerPolicy extends AbstractPolicy {
 
   public static final float DEFAULT_FAILURE_RATE_THRESHOLD = 50;
@@ -136,10 +136,12 @@ public class CircuitBreakerPolicy extends AbstractPolicy {
     if (StringUtils.isEmpty(slidingWindowType)) {
       return SlidingWindowType.TIME_BASED;
     }
-    if (SlidingWindowType.COUNT_BASED.equals(slidingWindowType)) {
-      return SlidingWindowType.COUNT_BASED;
+
+    try {
+      return SlidingWindowType.valueOf(slidingWindowType);
+    } catch (Exception e) {
+      return SlidingWindowType.TIME_BASED;
     }
-    return SlidingWindowType.TIME_BASED;
   }
 
   public String getSlidingWindowType() {

Reply via email to