Jordan Zimmerman created CURATOR-533:
----------------------------------------

             Summary: Improve CURATOR-505 by making the CircuitBreaker instance 
shared
                 Key: CURATOR-533
                 URL: https://issues.apache.org/jira/browse/CURATOR-533
             Project: Apache Curator
          Issue Type: Improvement
          Components: Framework, Recipes
    Affects Versions: 4.2.0
            Reporter: Jordan Zimmerman
            Assignee: Jordan Zimmerman
             Fix For: 4.2.1


CURATOR-505 introduced circuit breaking behavior via 
{{CircuitBreakingConnectionStateListener}} and 
{{ConnectionStateListenerDecorator}}. Elastic has been using it to success but 
reports that the implementation can be improved. The existing implementation 
uses a new {{CircuitBreaker}} for each {{ConnectionStateListener}} set in a 
Curator client. It turns out that this is not ideal. Instead, a shared 
{{CircuitBreaker}} should be used per Curator client.

Unfortunately, the best way to do this is to remove the 
{{ConnectionStateListenerDecorator}} semantics and use a different mechanism. 
This Issue proposes to do this and remove {{ConnectionStateListenerDecorator}}. 
This is a breaking change but given the short amount of time it's been in 
Curator it's unlikely that it's been widely adopted. 

If the community considers a breaking change too harsh the older classes can be 
maintained for a while and marked as {{@Deprecated}}.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to