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
Branch deletes (and maybe other things) don't replicate #3815
Comments
Seems like replication should push branch deletions by default. |
To do that we would have to implement |
The other side of this is that we need to then pull those branch deletions to each replica. I don't have a good idea how that would work off the top of my head. Replicas pull on read from a particular branch, there's no general mechanism for them to pull pre-emptively to cover this kind of use case. |
This PR moves deletions to and from replication remote intermediaries with the A more complete/user friendly solution would maybe have replicas to mirror the master's working set, so that branch changes, deletions, and merges are followed more closely. |
What's the behavior of a read-replica on a force-push / non-fast-forward merge? My understanding is that in the current behavior, the read replica stops replication / fails to replicate – maybe it's a bug, or maybe it's intentional because of the potential for data loss? Branch deletion seems like a more extreme example of the force-push use case. Not saying we shouldn't replicate, but maybe it should be an option and/or the same option should control whether force-pushes also replicate successfully? |
This is fixed. I'm closing the issue. We need a "rethink replication" project. I think it makes sense to make a backup the middleman in replication as opposed to a remote. I also think it should be configured in server.yaml. Whether we deprecate the current remote mediated replication in favor of backup mediated is up for debate. We'll schedule that post storage work. |
Repro.
Create timsehn/replication_example on DoltHub: https://www.dolthub.com/repositories/timsehn/replication_example
Set up a replica
To delete a remote branch in git you need to run
git push --delete <branch>
. Dolt does not support this syntax.Not sure how to solve this.
Also Max notes that other Dolt procedures that modify the commit graph may also have the same problem with replication.
The text was updated successfully, but these errors were encountered: