You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "mojieshui (JIRA)" <ji...@apache.org> on 2018/01/05 07:49:00 UTC

[jira] [Created] (SCB-180) Circuitbreak forceopen always true

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)