[infinispan-issues] [JBoss JIRA] (ISPN-6047) Deadlock when a prepare command is retried
Pedro Ruivo (JIRA)
issues at jboss.org
Mon Feb 1 09:46:00 EST 2016
[ https://issues.jboss.org/browse/ISPN-6047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157123#comment-13157123 ]
Pedro Ruivo commented on ISPN-6047:
-----------------------------------
This is weird [~dan.berindei]. {{txA}} should never wait for {{txB}}. see [https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/remoting/inboundhandler/action/PendingTxAction.java#L67]
> Deadlock when a prepare command is retried
> ------------------------------------------
>
> Key: ISPN-6047
> URL: https://issues.jboss.org/browse/ISPN-6047
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Assignee: Pedro Ruivo
> Fix For: 8.2.0.CR1
>
>
> Looks like the ISPN-5623 fix went too far, and now I found a test failure with the opposite behaviour:
> 1. Remote prepare for {{txA}} acquires lock {{K}}
> 2. Remote prepare for {{txB}} blocks waiting for lock {{K}}
> 3. The topology changes, and the {{txA}} prepare is retried
> 4. The {{txA}} prepare times out, because it waits for pending transaction {{txB}} to finish.
> So we have to make {{txA}} somehow know that it already has the lock after it received an {{UnsureResponse}} for the prepare command, and skip waiting for pending transactions.
> I found the problem in a random failure of {{DistributedFourNodesMapReduceTest}} on a local branch, but I'm not sure if my local changes (making SyncCHF the default CH factory) made it more likely.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the infinispan-issues
mailing list