[jboss-jira] [JBoss JIRA] (WFLY-4327) when background tx-timeout rolls back the transaction, application thread should call tx.rollback instead of tx.suspend

Scott Marlow (JIRA) issues at jboss.org
Fri Feb 6 17:41:49 EST 2015


Scott Marlow created WFLY-4327:
----------------------------------

             Summary: when background tx-timeout rolls back the transaction, application thread should call tx.rollback instead of tx.suspend
                 Key: WFLY-4327
                 URL: https://issues.jboss.org/browse/WFLY-4327
             Project: WildFly
          Issue Type: Bug
          Components: EJB
            Reporter: Scott Marlow
            Assignee: Scott Marlow


We found out that when the transaction manager "reaper" thread rolls back a transaction, it doesn't remove the transaction from a static collection.  tx.suspend, which disassociates the transaction from the application thread, also doesn't remove the transaction from the static collection.  As a result, the transaction leaks and all of the objects references by it (including all resources that are put there like JPA persistence contexts).

To address this, we should change org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction (STATUS_ROLLEDBACK case in switch statement) to call tm.rollback() instead of tm.suspend().





--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list