[infinispan-issues] [JBoss JIRA] (ISPN-4167) DummyBaseTransactionManager doesn't clean up when rollback fails

Dan Berindei (JIRA) issues at jboss.org
Thu Mar 27 07:10:13 EDT 2014


Dan Berindei created ISPN-4167:
----------------------------------

             Summary: DummyBaseTransactionManager doesn't clean up when rollback fails
                 Key: ISPN-4167
                 URL: https://issues.jboss.org/browse/ISPN-4167
             Project: Infinispan
          Issue Type: Bug
          Components: Core
    Affects Versions: 6.0.2.Final
            Reporter: Dan Berindei
            Assignee: Dan Berindei
             Fix For: 7.0.0.Alpha3


If the rollback fails, the thread local holding the current transaction is not cleared, and it becomes impossible to start a new transaction on the same thread.

One way this can happen is when Infinispan registers as a XA transaction, but DummyTransactionManager is not configured to use XA Xids:

{noformat}
12:47:57,169 ERROR (testng-ReplicationExceptionTest:) [DummyTransaction] ISPN000098: Exception while rollback
java.lang.UnsupportedOperationException
	at org.infinispan.transaction.tm.DummyNoXaXid.getBranchQualifier(DummyNoXaXid.java:30)
	at org.infinispan.transaction.xa.recovery.SerializableXid.<init>(SerializableXid.java:37)
	at org.infinispan.transaction.xa.TransactionXaAdapter.convertXid(TransactionXaAdapter.java:251)
	at org.infinispan.transaction.xa.TransactionXaAdapter.rollback(TransactionXaAdapter.java:122)
	at org.infinispan.transaction.tm.DummyTransaction.runRollback(DummyTransaction.java:281)
	at org.infinispan.transaction.tm.DummyTransaction.rollback(DummyTransaction.java:88)
	at org.infinispan.transaction.tm.DummyBaseTransactionManager.rollback(DummyBaseTransactionManager.java:104)
	at org.infinispan.CacheImpl.tryRollback(CacheImpl.java:1442)
	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1418)
	at org.infinispan.CacheImpl.putInternal(CacheImpl.java:894)
	at org.infinispan.CacheImpl.put(CacheImpl.java:886)
	at org.infinispan.CacheImpl.put(CacheImpl.java:1461)
	at org.infinispan.CacheImpl.put(CacheImpl.java:225)
	at org.infinispan.tx.synchronisation.ReplicationExceptionTest.testSyncReplTimeout(ReplicationExceptionTest.java:54)
{noformat}

--
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


More information about the infinispan-issues mailing list