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

Pedro Ruivo (JIRA) issues at jboss.org
Tue May 13 18:13:10 EDT 2014


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

Pedro Ruivo updated ISPN-4167:
------------------------------

    Fix Version/s: 7.0.0.Beta1
                       (was: 7.0.0.Alpha4)


> 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.Beta1
>
>
> 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 was sent by Atlassian JIRA
(v6.2.3#6260)


More information about the infinispan-issues mailing list