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

William Burns (JIRA) issues at jboss.org
Mon Aug 11 13:13:06 EDT 2014


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

William Burns updated ISPN-4176:
--------------------------------

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


> 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
>      Security Level: Public(Everyone can see) 
>          Components: Core, Transactions
>    Affects Versions: 6.0.2.Final
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>             Fix For: 7.0.0.Beta2
>
>
> {{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 was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the infinispan-issues mailing list