Bug 1245500

Summary: Retried prepare commands do not wait for backup locks
Product: [JBoss] JBoss Data Grid 6 Reporter: Dan Berindei <dberinde>
Component: InfinispanAssignee: Pedro Ruivo <pruivo>
Status: VERIFIED --- QA Contact: Martin Gencur <mgencur>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.5.0CC: jdg-bugs, ttarrant, vjuranek
Target Milestone: ER4   
Target Release: 6.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dan Berindei 2015-07-22 08:05:53 UTC
When the primary owner crashes during prepare, the prepare command is retried on the new primary owner. But because the transaction topology id stays the same, the new primary owner does not check for backup locks owned by other transactions from the previous topology.

That makes it possible for the retried prepare command to lock a key that was already locked by another transaction on the primary owner.

This wasn't a problem before the bug 1212795 (ISPN-4546) fix, because a primary owner crash would have forced the transaction to roll back.