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)

Reply via email to