[
https://issues.apache.org/jira/browse/CAMEL-7973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Willem Jiang resolved CAMEL-7973.
---------------------------------
Resolution: Fixed
Fix Version/s: 2.15.0
2.14.1
Applied the patch into camel master ,camel 2.14.x with thanks to Matteo. I also
changed the patch by adding callback to check the failed exchange.
> 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
> Fix For: 2.14.1, 2.15.0
>
> 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)