Skip to content

Conversation

@JiriOndrusek
Copy link
Contributor

Issue https://issues.apache.org/jira/browse/CAMEL-17474

Problem is caused by the fact, that JTA transactions requires synchronous execution (see comment)
There is a change (a few months ago), which changed default executions to be asynchronous and causes deadlocks.

I added a test created by @zhfeng

The whole code change is only POC whether this kind of change would help. (it seems to be working successfully)
Mainly I'm not sure about JtaTransactionPolicy.beforeWrap. But it is essential to set flag to the route's error handler factory, to make this idea work.

I would appreciate any kind of help/review//response to this PR. (as I'm not even sure whether this is the right idea to implement)

@JiriOndrusek JiriOndrusek force-pushed the CAMEL-1747_deadlock-WIP branch from 0fd8682 to c62136f Compare February 21, 2022 12:32
@zhfeng
Copy link
Contributor

zhfeng commented Feb 21, 2022

Thanks @JiriOndrusek and I made some progress to mark the exchange transacted in JtaTransactionErrorHandler. see https://github.com/zhfeng/apache-camel/blob/transacted_split/components/camel-jta/src/main/java/org/apache/camel/jta/JtaTransactionErrorHandler.java#L72-L83 and that could be another solution.

@zhfeng
Copy link
Contributor

zhfeng commented Feb 24, 2022

@JiriOndrusek can you close this PR since we alreday have a fix for camel-jta.

@davsclaus
Copy link
Contributor

closing PR

@davsclaus davsclaus closed this Feb 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants