Make semi sync extension optional#5483
Conversation
Signed-off-by: Morgan Tocker <tocker@gmail.com>
ee4f03c to
3abebd8
Compare
…ptional Signed-off-by: Morgan Tocker <tocker@gmail.com>
342d1f9 to
959b626
Compare
deepthi
left a comment
There was a problem hiding this comment.
There are other places where we are setting rpl_semi_sync variables. We need to evaluate whether changes are needed there. E.g.:
https://github.com/vitessio/vitess/blob/master/go/vt/mysqlctl/replication.go#L407
I actually think that But there is another one called If I modified this to first use |
…ptional Signed-off-by: Morgan Tocker <tocker@gmail.com>
…ess into morgo-semi-sync-optional Signed-off-by: Morgan Tocker <tocker@gmail.com>
…ptional Signed-off-by: Morgan Tocker <tocker@gmail.com>
|
I renamed |
I don't think that is needed, since it will return false if the extension is not loaded (catch error and return false). |
Fixes #4762
There is a use case to attach Vitess to an existing MySQL topology and then migrate into Vitess. Currently this requires the semi sync extension to be present (irrespective of whether semi-sync is used). This is because of the way the mysql server handles config options: the plugins register them with the server. If the plugin is not present, there is an error because the option is unknown.
Since a user may be moving from a managed platform, or may not want to make too many changes to the source, it is important to not error if semi-sync commands can not be executed.
Signed-off-by: Morgan Tocker tocker@gmail.com