[MXS-1507] Transaction replay Created: 2017-10-30  Updated: 2018-07-06  Resolved: 2018-05-02

Status: Closed
Project: MariaDB MaxScale
Component/s: readwritesplit
Affects Version/s: None
Fix Version/s: 2.3.0

Type: New Feature Priority: Major
Reporter: markus makela Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MXS-1810 Add resultset checksums into readwrit... Closed
Epic Link: Transparent master failover
Sprint: MXS-SPRINT-56

 Description   

Overview

Open transactions can be replayed on a replacement server if the following criteria are met:

  • Only SELECT ... FOR UPDATE reads have been done
  • The contents of the SELECT ... FOR UPDATE statements are identical

This does not provide a 100% guarantee of an identical end result for the migration as the storage engine can alter the locking order of rows.

Task Details

  • Track transaction contents
  • Calculate checksum/hash for SELECT ... FOR UPDATE results
  • Replay executed queries

Some of the session command code can be reused or re-purposed to handle the execution of the commands.



 Comments   
Comment by markus makela [ 2018-05-02 ]

Enabling the transaction_replay now allows transactions to be transparently replayed on replacement servers.

Generated at Thu Feb 08 04:07:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.