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

[jira] [Created] (CAMEL-16927) Route deadlock in DefaultReactiveExecutor/Worker

Piotr Klimczak created CAMEL-16927:
--------------------------------------

             Summary: Route deadlock in DefaultReactiveExecutor/Worker
                 Key: CAMEL-16927
                 URL: https://issues.apache.org/jira/browse/CAMEL-16927
             Project: Camel
          Issue Type: Bug
          Components: camel-core-engine
    Affects Versions: 3.7.2
            Reporter: Piotr Klimczak


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 all is 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.
Bean execution then triggers another route using Camel Proxy and direct-vm, but because it schedules direct-vm processor to the same Worker 2 which is currently processing current task it all deadlocks.

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)