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

Christian Kalkhoff updated CAMEL-18821:
---------------------------------------
    Description: 
When an aggregator runs in the same thread as the transacted route (Using 
org.apache.camel.util.concurrent.SynchronousExecutorService for 
executorService), the thread hangs after completion (error or not) at 
camel-base-engine-3.19.0-sources.jar!/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java:107

 
{code:java}
latch.await(); {code}
 

If I run latch.countDown() in a debugger, the thread continues just fine.

For the success case I found the workaround to set 
{{{}jtaTransactionErrorHandler(){}}}for the route containing the aggregator. 
Still in case of an exception thrown from the code processing the aggregated 
messages, the thread hangs.

See 
[https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/Deadlock.20in.20transacted.20route.2E.20is.20this.20a.20bug.3F]
 for the discussion on this.

  was:
When an aggregator runs in the same thread as the transacted route (Using 
org.apache.camel.util.concurrent.SynchronousExecutorService for 
executorService), the thread hands after completion (error or not) at 
camel-base-engine-3.19.0-sources.jar!/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java:107

 
{code:java}
latch.await(); {code}
 

If I run latch.countDown() in a debugger, the thread continues just fine.

For the success case I found the workaround to set 
{{{}jtaTransactionErrorHandler(){}}}for the route containing the aggregator. 
Still in case of an exception thrown from the code processing the aggregated 
messages, the thread hangs.

See 
[https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/Deadlock.20in.20transacted.20route.2E.20is.20this.20a.20bug.3F]
 for the discussion on this.


> camel-core - Thread hangs on transacted routes after aggregation and 
> multiplex (possibly more)
> ----------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-18821
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18821
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>         Environment: Quarkus 3.18.3, 3.18.4, 3.19.0 in TomEE 8.0.13 on JDK 17 
> (Termium).
>            Reporter: Christian Kalkhoff
>            Priority: Major
>             Fix For: 3.x
>
>
> When an aggregator runs in the same thread as the transacted route (Using 
> org.apache.camel.util.concurrent.SynchronousExecutorService for 
> executorService), the thread hangs after completion (error or not) at 
> camel-base-engine-3.19.0-sources.jar!/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java:107
>  
> {code:java}
> latch.await(); {code}
>  
> If I run latch.countDown() in a debugger, the thread continues just fine.
> For the success case I found the workaround to set 
> {{{}jtaTransactionErrorHandler(){}}}for the route containing the aggregator. 
> Still in case of an exception thrown from the code processing the aggregated 
> messages, the thread hangs.
> See 
> [https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/Deadlock.20in.20transacted.20route.2E.20is.20this.20a.20bug.3F]
>  for the discussion on this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to