Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-4167

DummyBaseTransactionManager doesn't clean up when rollback fails

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.2.0.CR1, 7.2.0.Final
    • 6.0.2.Final
    • Core
    • None

      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:

      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)
      

              pruivo@redhat.com Pedro Ruivo
              dberinde@redhat.com Dan Berindei (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: