mojieshui created SCB-180:
-----------------------------
Summary: Circuitbreak forceopen always true
Key: SCB-180
URL: https://issues.apache.org/jira/browse/SCB-180
Project: Apache ServiceComb
Issue Type: Bug
Components: Java-Chassis
Affects Versions: java-chassis-1.0.0-m1
Reporter: mojieshui
Assignee: mojieshui
when use dynamic config with ConfigCenterConfigurationSource
reproduce steps:
1. add dynamic config item "servicecomb.circuitBreaker.Consumer.forceOpen=true"
2. make any request, hystrixcommand will init and cached. the circuitbreaker is
open.
3. delete dynamic config item "servicecomb.circuitBreaker.Consumer.forceOpen",
Expected result is circuitbreaker change to the default value "false", but it
keep always true, all request fail.
in class HystrixCommandPropertiesExt
this.circuitBreakerForceOpen = getProperty(propertyPrefix,
"circuitBreaker",
key,
"forceOpen",
{color:#d04437}builder.getCircuitBreakerForceOpen(),
{color} DEFAULT_CIRCUITBREAKERFORCEOPEN);
and builder's value was set by dynamic config, not the default value false, if
config was set before hystixcommand init, default value will override, and you
have to restart if you want to restore
.withCircuitBreakerForceOpen(Configuration.INSTANCE.isCircuitBreakerForceOpen(groupname,
invocation.getMicroserviceName(),
invocation.getOperationMeta()
.getMicroserviceQualifiedName()))
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)