[infinispan-issues] [JBoss JIRA] (ISPN-4176) Forcing a commit via recovery RecoveryAdminOperations may create a duplicate GlobalTransaction

Dan Berindei (JIRA) issues at jboss.org
Mon Mar 31 05:22:13 EDT 2014


Dan Berindei created ISPN-4176:
----------------------------------

             Summary: Forcing a commit via recovery RecoveryAdminOperations may create a duplicate GlobalTransaction
                 Key: ISPN-4176
                 URL: https://issues.jboss.org/browse/ISPN-4176
             Project: Infinispan
          Issue Type: Bug
          Components: Core, Transactions
    Affects Versions: 6.0.2.Final
            Reporter: Dan Berindei
            Assignee: Dan Berindei
             Fix For: 7.0.0.Alpha3


{{RecoveryManagerImpl.forceTransactionCompletion()}} modifies the {{GlobalTransaction.address}} of the transaction being committed so that the local node is the originator. But the {{GlobalTransaction.id}} stays the same, we could have two transactions with the same {{GlobalTransaction}} - which shouldn't be possible.

We can't remove the code that changes the {{GlobalTransaction.address}}, because we use it as the originator in other parts of the code. So the only option is to generate a new id as well.

But there is another problem: RecoveryAwareTransactionTable.cleanupStaleTransactions() doesn't release the locks acquired by that transaction on the primary node. So forcing a commit with a different GlobalTransaction will not be able to acquire the locks that were held by the original transaction.

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