[Bucardo-general] Syncs are aborted if one of the involved DBs is offline
michelle at sorbs.net
Sun Apr 7 11:10:41 UTC 2013
José Montero wrote:
> Hello everyone,
> A client of my company needs a multi-master replication mechanism for
> PostgreSQL and I have been suggested to use Bucardo. I know the stable
> version of Bucardo doesn't allow multi-master replication, but the
> beta version 5 does.
> I have tested the way Bucardo 5 performs syncs and it looks nice.
> However, I've encountered a major problem that, according to what I've
> read in forums, may be an implementation decision:
> *A sync is aborted if one of the involved DBs is offline. *
> My client needs to replicate data among more than 20 nodes.
> Statistically, it is almost impossible that the 20 nodes will be
> online simultaneously. Therefore, I really need a sync to synchronize
> "now" as many databases as possible and later, when the offline
> databases come online, to synchronize them. Is there a way to achieve
> what I need using the current version of Bucardo (4.99.7)?
Whilst I agree with your issue regarding a 'catch up' mode I do disagree
with your statement 'Statistically, it is almost impossible that the 20
nodes will be online simultaneously.' ... My nodes are online 99% of the
time, and whilst I don't have 20 I have 7 all around the world connected
via the Internet...
That said, I do support some sort of 'catch up mode' as a concept. I
do have issues with some of the remote nodes going offline from time to
time, and when they do (particularly due to routing issue of the
Internet) having replication stop is a major pain the rectum...
particularly if its due to a hardware failure that takes 24 hours to get
resolved. Replication should continue and the host when it comes up
should be placed into a 'read-only, catch up' mode whilst the catchup
sync is performed. All my remote nodes are slave only so it's not too
much of an issue that way for me, however I do have a cluster of 4
masters (2 east coast, 2 west cost) that should a master fail it should
be placed in read-only on startup whilst the DB is synced with
outstanding changes. Greg, would this be possible to look at?
More information about the Bucardo-general