[Bucardo-general] Connection disruptions in multi-master replication

Enrique P. eps.lab at protonmail.com
Mon Jul 4 14:58:23 UTC 2022


Hi David,

If you set up a Bucardo instance on node A to replicate a database between node A and node B, you will find that the database on node B (which does not even have a Bucardo instance or any Bucardo-related process running, other than the triggers) has some relations added under the schema 'bucardo'.
Some of these will be related to the database itself and some others will be related to each table being replicated. These are where the "deltas" are stored, and such stuff.

I believe that, if multiple Bucardo instances try to handle a certain database on a certain node, then different instances will mess with the same structures on those databases and nothing will work properly. Or if it does, maybe it does so because of the wrong reasons :D
I would say that your deltas are maybe being "consumed" by one of the instances handling the database while you were expecting another one to do so.

Maybe you don't see the exact same messages after setting up the syncs on the first Bucardo instances as you do in subsequent ones?

People of the list, please correct me if I'm wrong.

Best regards!

Kike

------- Original Message -------
On Monday, July 4th, 2022 at 3:46 PM, David Jung via Bucardo-general <bucardo-general at bucardo.org> wrote:


> Dear all,
>
> I have been exploring the use of bucardo for multi-master replication. It works fine as long as the network connection between the servers is stable, but I have some concerns about reliability when the network connection intermittently breaks up.
>
> In my test setup I have three servers A, B, and C (which are separate linux computers, each running a postgresql13 database). Because I want replication to continue between the remaining servers when the connection breaks up between any pair of servers, I decided to run an instance of bucardo on each server. Bucardo on server A is set up with a source<->source sync between the databases of servers A and B, server B syncs B and C, and bucardo on server C syncs C and A.
>
>
> Now if I for example set up server A to drop any packets from C via iptables, any changes on C are still synced to B, but A misses out on them completely. This would be expected, but when I re-establish the connection from C to A the changes are still not synced - A just remains inconsistent with B and C indefinitely. Worse still, I can't seem to find any hint that there was a sync failure in the bucardo logs of either A and C. "bucardo status" shows the syncs to be "Good" and "Active".
>
> Is there some log that I am missing that would show me these failed syncs or some configuration that I missed so that failed syncs are repeated when the connection is re-established?
>
> Best regards,
> David
> _______________________________________________
> Bucardo-general mailing list
> Bucardo-general at bucardo.org
> https://bucardo.org/mailman/listinfo/bucardo-general


More information about the Bucardo-general mailing list