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.
|