[ https://issues.apache.org/jira/browse/CAMEL-7973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14189791#comment-14189791 ]
Willem Jiang edited comment on CAMEL-7973 at 10/30/14 8:28 AM: --------------------------------------------------------------- Hi,Claus. Yes, we cannot just call the process method there. I'm working on it to add the async processing code :) was (Author: njiang): Hi,Claus. Yes, we cannot just call the process method there. I'm work on it :) > CircuitBreakerLoadBalancer fails on async processors > ---------------------------------------------------- > > Key: CAMEL-7973 > URL: https://issues.apache.org/jira/browse/CAMEL-7973 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.14.0 > Reporter: Matteo Pavesi > Assignee: Willem Jiang > Priority: Minor > Attachments: > 0001-CAMEL-7973-added-failing-test-for-circuit-breaker-wi.patch, > 0002-CAMEL-7973-fix-circuit-breaker-with-async-processors.patch > > > The CircuitBreakerLoadBalancer works fine on direct synchronous processor, > but it seems to not behave as expected in case of async processor. > To reproduce the error, it's enough to add a .threads(1) before the mock > processor in the CircuitBreakerLoadBalancerTest routeBuilder configuration. > This misbehaviour seems to be related to the use of the > AsyncProcessorConverterHelper to force any processor to behave like > asynchronous. > I'm going to propose a patch with the failing test and a proposal of solution. > EDIT: > the patch contains the fix also to other unexpected behaviour of the > CircuitBreaker. > The second problem addressed is that, after the opening of the circuit, the > RejectedExecutionException raised by the circuit breaker is set in the > Exchange, but it doesn't return. This cause the processor will receive the > Exchange even if the circuit is open. In this case also, if the > CircuitBreaker is instructed to react only to specific Exception, it will > close the circuit after the following request, because the raised exception > would be a RejectedExecutionException instead of the one specified in the > configuration. -- This message was sent by Atlassian JIRA (v6.3.4#6332)