Skip to content

migrater: reverse_replication and other solidification#5325

Merged
sougou merged 7 commits intovitessio:masterfrom
planetscale:ss-vrepl-reverse
Oct 24, 2019
Merged

migrater: reverse_replication and other solidification#5325
sougou merged 7 commits intovitessio:masterfrom
planetscale:ss-vrepl-reverse

Conversation

@sougou
Copy link
Contributor

@sougou sougou commented Oct 19, 2019

The previous implementation only created the reverse replication streams, but there was no option to start them. This change introduces the flag and the functionality to start the reverse replication.

The overall order of operations have been adjusted to make more logical sense with respect to reverse replication.

The reverse replication now receives a more user friendly reverse_workflow name which makes things more understandable.

This change also addresses a special corner case: once the migration is fully done, the last action is to delete the target vreplication streams. But if this operation fails partially, the user has to manually delete the left over streams. Re-attempting the migrate command will likely result in errors about the streams being inconsistent. This delete is now done in two phases: First, the streams are marked as frozen, and then deleted. This also gives us the opportunity to check for this flag right at the beginning. If we detect that any of the streams are frozen, we directly skip forward and just delete the left over streams.

The migration cancel has also been hardened. It now performs the cancel based on the original data structures that were built. The previous algorithm of re-reading the data separately was confusing and less maintainable.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@sougou sougou requested a review from deepthi October 19, 2019 21:35
Copy link
Collaborator

@deepthi deepthi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good except for a minor doc fix.

}

journalsExist, err := mi.checkJournals(ctx)
// If not journals exist, sourceWorkflows will be initialized by sm.MigrateStreams.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If journals don't exist

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@sougou sougou merged commit 16e07b8 into vitessio:master Oct 24, 2019
@sougou sougou deleted the ss-vrepl-reverse branch October 24, 2019 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants