[
https://issues.jboss.org/browse/JBTM-2725?page=com.atlassian.jira.plugin....
]
Michael Musgrove commented on JBTM-2725:
----------------------------------------
See the linked PR for the actual fix which was to return success from a rollback attempt
if the transaction was already in any of the states ABORTED, ABORTING or H_ROLLBACK.
Race condition in ControlWrapper
--------------------------------
Key: JBTM-2725
URL:
https://issues.jboss.org/browse/JBTM-2725
Project: JBoss Transaction Manager
Issue Type: Bug
Components: JTS
Affects Versions: 5.3.3.Final
Reporter: Tomasz Adamski
Assignee: Tomasz Adamski
Fix For: 5.next
I have encountered another problem during timeout induced rollback scenario. When the
thread rolls back the transaction immediately after the reaper they both end in
ControlWrapper#rollback method. This should be synchronized: if it is not both threads may
call TransactionImple#rollback method which is not expected and leads to
IllegalStateException error. In synchronized scenario second thread in
ControlWrapper#rollback method see that the TransactionImple has already been
disassociated with the thread and throws TRANSACTION_ROLLEDBACK exception which is
expected.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)