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
[DARGA] Backport pglogical replication enhancements for replication set locking #12513
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This allows for a more complete "reset" when removing the node that will be sure to remove all data from the previous installation.
These specs cover the cases where the provider node is not yet created.
…ansaction This will allow us to rollback the whole process if something bad happens while creating the replication set (like a unique constraint error). After this change we will no longer see the replication type as "Remote" when we fail to cleanly create the provider node. https://bugzilla.redhat.com/show_bug.cgi?id=1380475
…tion set If we try to add a table that is already present in the set, we should not fail the creation of the node in the region. This way, the setup can continue to add other tables that may not have been added before. https://bugzilla.redhat.com/show_bug.cgi?id=1380475
This will be useful for dealing with separate processes (possibly also running on separate servers) which may try to add or remove tables from the set concurrently.
Some issues have been reported with this, and this will help debugging.
This will prevent multiple processes from executing this logic at the same time which will prevent us from adding a table that is already included in the set or removing a table that is not in the set. https://bugzilla.redhat.com/show_bug.cgi?id=1387420
…#refresh_excludes This is no longer needed as we will always take a lock around this logic.
Checked commits carbonin/manageiq@a477f63~...963959c with ruby 2.2.5, rubocop 0.37.2, and haml-lint 0.16.1 |
👍 Looks good! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a backport for some issues with pglogical replication in the darga release.
In particular this backports the locking mechanism for editing the replication set which solves worker failures when the workers are adding or removing tables from the replication set concurrently.
There were some additional dependent changes that needed to also come back for this cherry-pick to apply cleanly.
The PRs backported by this PR are:
https://bugzilla.redhat.com/show_bug.cgi?id=1391997
@gtanzillo please review
/cc @chessbyte What should I do with the labels on the referenced PRs?