[jbossts-issues] [JBoss JIRA] (JBTM-2725) Race condition in ControlWrapper

Tomasz Adamski (JIRA) issues at jboss.org
Wed Aug 10 18:12:00 EDT 2016


     [ https://issues.jboss.org/browse/JBTM-2725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomasz Adamski updated JBTM-2725:
---------------------------------
    Description: I have encountered another problem during timeout induced rollback scenario. When the thread rolls back the transaction immediately after the reaper the same time 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.  (was: I have encountered another problem during timeout induced rollback scenario. When the thread rolls back the transaction in the same time 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.)


> Race condition in ControlWrapper
> --------------------------------
>
>                 Key: JBTM-2725
>                 URL: https://issues.jboss.org/browse/JBTM-2725
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>          Components: JTS
>    Affects Versions: 5.3.3.Final
>            Reporter: Tomasz Adamski
>            Assignee: Tomasz Adamski
>
> I have encountered another problem during timeout induced rollback scenario. When the thread rolls back the transaction immediately after the reaper the same time 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)



More information about the jbossts-issues mailing list