Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Independent multi-match #92

Merged
merged 6 commits into from
Mar 7, 2017
Merged

Independent multi-match #92

merged 6 commits into from
Mar 7, 2017

Conversation

shlomi-noach
Copy link
Collaborator

support for PseudoGTIDPreferIndependentMultiMatch

This is an optional step back in grouping/bucketing multiple servers in a Pseudo-GTID operation, such as match-replicas or relocate-replicas or regroup-replicas-pgtid.

What I've evidenced is that many times grouping servers in a Pseudo-GTID operation reduces overall match time: orchestrator optimizes for less binary log inspection, less Pseudo-GTID search & computation, applying computed changes onto servers in same bucket.

However, a particular case that I'm facing now involves multi-DC servers who happen to be on same Pseudo-GTID bucket. They are very frequently grouped in the same bucket. However cross-DC network has such latency that if local servers need to wait on a remote server to do computation, there is substantial delay in matching those local servers.
In this case it is more beneficial to independently match servers one at a time. There will be waste of search, more binlog inspection on the master of given replicas. But each server would relocate as soon as possible (granted, said overhead may add latency to each operation).
In this case overall operation time may be longer; sum of "wait time" for each replica may be longer, but some replicas may relocate quicker than they would with the grouping solution.

everything in life is a compromise, and fortunately we are able to set a flag to control the behavior we want. I am nonetheless on the hunt to reduce number of flags, but this will happen on another iteration.

The new variable PseudoGTIDPreferIndependentMultiMatch is introduced, and is backwards compatible (defaults false). Set to true to enable per-replica independent relocation on bulk operations such as match-replicas, relocate-replicas etc.

@shlomi-noach shlomi-noach deployed to production/github-mysql6z March 6, 2017 11:45 Active
@shlomi-noach shlomi-noach merged commit e6a8067 into master Mar 7, 2017
@shlomi-noach shlomi-noach deleted the independent-multi-match branch March 7, 2017 06:20
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant