Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-4137

Transaction executed multiple times due to forwarded CommitCommand

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              dberinde@redhat.com Dan Berindei
              rvansa1@redhat.com Radim Vansa
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: