[infinispan-issues] [JBoss JIRA] (ISPN-4131) Lock acquired forever with delayed PrepareCommand

Radim Vansa (JIRA) issues at jboss.org
Tue Mar 18 09:56:10 EDT 2014


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

Radim Vansa updated ISPN-4131:
------------------------------

    Description: 
Distributed transactional cache:

1. A sends Prepare to B
2. B receives Prepare, but due to ongoing ST it is blocked
3. B replication timeout elapses
4. B sends Rollback, this does not find the TX as Prepare was not executed yet. The transaction is put into completedTransactions.
5. Completed transactions timeout elapses. This is by default 15 seconds, way shorter than ST timeout (due to which the Prepare was blocked)
6. Prepare is executed on B, acquiring lock on K

Nobody will rollback the TX as originator thinks it was already rolled back.
Result: key K will be locked forever, all attempts to update/remove it will fail.

  was:
Distributed transactional cache:

1. A sends Prepare to B
2. B receives Prepare, but due to ongoing ST it is blocked
3. B replication timeout elapses
4. B sends Rollback, this does not find the TX as Prepare was not executed yet. The transaction is put into completedTransactions.
5. Completed transactions timeout elapses. This is by default 15 seconds, way shorter than ST timeout (due to which the Prepare was blocked)
6. Prepare is executed on B, acquiring lock on K

Nobody will rollback the TX as originator things it was already rolled back.
Result: key K will be locked forever, all attempts to update/remove it will fail.


    
> Lock acquired forever with delayed PrepareCommand
> -------------------------------------------------
>
>                 Key: ISPN-4131
>                 URL: https://issues.jboss.org/browse/ISPN-4131
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 7.0.0.Alpha1
>            Reporter: Radim Vansa
>            Assignee: Dan Berindei
>            Priority: Critical
>
> Distributed transactional cache:
> 1. A sends Prepare to B
> 2. B receives Prepare, but due to ongoing ST it is blocked
> 3. B replication timeout elapses
> 4. B sends Rollback, this does not find the TX as Prepare was not executed yet. The transaction is put into completedTransactions.
> 5. Completed transactions timeout elapses. This is by default 15 seconds, way shorter than ST timeout (due to which the Prepare was blocked)
> 6. Prepare is executed on B, acquiring lock on K
> Nobody will rollback the TX as originator thinks it was already rolled back.
> Result: key K will be locked forever, all attempts to update/remove it will fail.

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