Bug 1080313 - Transaction executed multiple times due to forwarded CommitCommand
Summary: Transaction executed multiple times due to forwarded CommitCommand
Keywords:
Status: VERIFIED
Alias: None
Product: JBoss Data Grid 6
Classification: JBoss
Component: Infinispan
Version: 6.2.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER2
: 6.2.1
Assignee: Tristan Tarrant
QA Contact: Martin Gencur
URL:
Whiteboard:
Depends On:
Blocks: 1092056
TreeView+ depends on / blocked
 
Reported: 2014-03-25 07:23 UTC by Radim Vansa
Modified: 2022-03-03 09:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker ISPN-4137 0 Critical Resolved Transaction executed multiple times due to forwarded CommitCommand 2015-08-26 04:01:34 UTC

Description Radim Vansa 2014-03-25 07:23:02 UTC
When the StateTransferInterceptor forwards a CommitCommand for the new topology, multiple CommitCommands may be broadcast across the cluster. If the command (forwarded already from originator) times out, the transaction may be correctly finished by the first one and the application considers TX as succeeded (useSynchronizations=true), although one more Rollback is sent as well.

Then, again in STI, when the CommitCommand arrives with higher topologyId than the one used for the first TX execution, another artificial Prepare (followed by the commit) is executed - see STI.visitCommitCommand.

However, this execution may be delayed a lot and originator may have already executed another TX on the same entries. Then, this forwarded Commit will overwrite the already updated entries, causing inconsistency of data.


Note You need to log in before you can comment on or make changes to this bug.