You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/09/22 05:12:00 UTC

[jira] [Resolved] (CAMEL-16927) camel-spring - Using Spring XML and multiple camel context may cause a deadlock when multiple camel proxies involved

     [ https://issues.apache.org/jira/browse/CAMEL-16927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-16927.
---------------------------------
    Resolution: Fixed

> camel-spring - Using Spring XML and multiple camel context may cause a deadlock when multiple camel proxies involved
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-16927
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16927
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-spring
>    Affects Versions: 3.7.5, 3.7.2
>            Reporter: Piotr Klimczak
>            Priority: Major
>             Fix For: 3.7.6, 3.12.0
>
>
> My scenario:
>  # Http client -> Transactional servlet consumer
>  # Servlet route calls java bean
>  # Java bean calls another route using Camel Proxy and direct-vm
>  # CamelInvocationHandler calls direct-vm route and then hangs as route is never executed, waiting for worker
> At this point it is all deadlocked and it never ends.
>  From what I can see the problem happens in DefaultReactiveExecutor.Worker.
> From debugging I can see there are two DefaultReactiveExecutor.Workers at the point of deadlock.
> At point 3, Worker number 2 executes SimpleTask which waits for it to finish- this task is to execute bean as per step 3.
>  Bean execution then attempts to trigger another route using Camel Proxy and direct-vm and schedules it on Worker number 2.
> However immediately after scheduling on Worker number 2 the direct-vm processor, Worker 1 executes executeFromQueue (triggered by countdownLatch waiting for direct-vm call to finish) which then causes deadlock because task added to Worker number 2 is never executed.
> I have confirmed above in debugging, will try to come up with simple test case as our scenario is rather complex and involves multiple projects.
> Unfortunately for us this is blocker as our solution which was working perfectly fine with camel 2 is not working.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)