[
https://issues.jboss.org/browse/JBTM-1284?page=com.atlassian.jira.plugin....
]
Tom Jenkinson updated JBTM-1284:
--------------------------------
Summary: Optionally circumvent ThreadAction in ArjunaCore when using concurrent nested
transactions (was: Implement concurrent nested transactions)
Optionally circumvent ThreadAction in ArjunaCore when using
concurrent nested transactions
------------------------------------------------------------------------------------------
Key: JBTM-1284
URL:
https://issues.jboss.org/browse/JBTM-1284
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Transaction Core
Reporter: Tom Jenkinson
Needs sanity checking
We can collaborate on the work via linked GitHub branch
The problem out of the box is when you AtomicAction "begin" - you will link to
the ThreadActionData, as you can see in the test I can circumvent that via a different API
call start passing in the parent directly.
You can see there is precedent to manipulate ThreadActionData:
ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/AsyncPrepare.java (doing the
prepare in multiple threads)
I think this is feasible, it may need some thread safety via synchronization in the
AtomicAction.
Nested Transactions in core look to be able to support concurrent access except:
1. Threading may not work, will need to check and fix
2. ThreadActionData imposes a stack
You can see in my test (linked in the GitHub branch) I am circumventing the stack.
we already support nested transactions, it should just be not associating them with a
thread and making sure they are thread safe when they talk to their parents
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira