diff --git a/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/main/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtils.java b/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/main/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtils.java index 170b37c3f..fe4a782de 100644 --- a/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/main/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtils.java +++ b/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/main/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtils.java @@ -190,6 +190,7 @@ public static ServiceRule fillDefaultCircuitBreakerRuleInNeeded(Resource resourc String statusCodes = IntStream.range(500, 600) .mapToObj(String::valueOf) .collect(Collectors.joining(",")); + statusCodes += ",-1"; codeMatchStringBuilder.setValue(StringValue.of(statusCodes)); errorConditionBuilder.setCondition(codeMatchStringBuilder); failureBlockConfigBuilder.addErrorConditions(errorConditionBuilder); diff --git a/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/test/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtilsTest.java b/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/test/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtilsTest.java index 8eb78f0db..ac92e5e56 100644 --- a/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/test/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtilsTest.java +++ b/polaris-plugins/polaris-plugins-circuitbreaker/circuitbreaker-composite/src/test/java/com/tencent/polaris/plugins/circuitbreaker/composite/utils/CircuitBreakerUtilsTest.java @@ -134,7 +134,7 @@ public void testFillDefaultCircuitBreakerRuleInNeeded() { assertThat(addedRule.getRuleMatcher().getSource().getService()).isEqualTo("testCallerService"); // 验证错误条件 assertThat(addedRule.getBlockConfigs(0).getErrorConditions(0).getCondition().getValue().getValue()) - .isEqualTo("500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599"); + .isEqualTo("500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,-1"); // 验证触发条件 assertThat(addedRule.getBlockConfigs(0).getTriggerConditions(0).getTriggerType()).isEqualTo(CircuitBreakerProto.TriggerCondition.TriggerType.ERROR_RATE); assertThat(addedRule.getBlockConfigs(0).getTriggerConditions(0).getErrorPercent()).isEqualTo(50);