Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for replication across multiple versions #28

Closed
PrzemekMalkowski opened this issue Aug 3, 2018 · 3 comments
Closed

Add support for replication across multiple versions #28

PrzemekMalkowski opened this issue Aug 3, 2018 · 3 comments

Comments

@PrzemekMalkowski
Copy link

@PrzemekMalkowski PrzemekMalkowski commented Aug 3, 2018

I would absolutely love to see the functionality like:
dbdeployer deploy replication --master-ver=5.6.35 --slave-versions="5.6.40,5.7.22"

@datacharmer
Copy link
Owner

@datacharmer datacharmer commented Aug 3, 2018

It should be doable. It only requires some time to avoid breaking other functionalities.

Specifically, this feature must work together with :

  • the main definition of a version (dbdeployer deploy replication 5.6.41). This could be fixed by using the main version (5.6.41 in the previous example) as the master version.
  • the emergency definition of the working version (dbdeployer deploy --binary-version=xxx ...).

Another issue could be different topologies that don't use slaves, such as group replication or multi-source. I don't even know if GR would work with servers of different versions.

Furthermore, this feature may also require that we change the way we initialize slaves, as some versions use options that are not available in previous ones. For example, initialization commands for 8.0.x slaves will fail for 5.7.x slaves. A possible workaround would be to only allow this feature where the slaves versions are higher than the master.

Anyway, I have several issues to tackle before this one. I am open to suggestions (and to pull requests!)

Loading

@datacharmer
Copy link
Owner

@datacharmer datacharmer commented Mar 29, 2019

dbdeployer version 1.26.0 implements replication between sandboxes. See Replication between sandboxes.
Using this feature, you can deploy sandboxes from various versions, and start replication between them.

Loading

@datacharmer
Copy link
Owner

@datacharmer datacharmer commented Mar 31, 2019

In dbdeployer 1.27.0 there is a cookbook example of cross-version replication.

Run the following:

dbdeployer cookbook list
[...]

dbdeployer cookbook create replication_multi_versions

Then look at recipes/replication-multi-versions.sh and eventually run the example by providing three versions on the command line.

Loading

@datacharmer datacharmer closed this Apr 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants