[Bucardo-general] B4 best practices for unreliable DB connections

Greg Sabino Mullane greg at endpoint.com
Mon Nov 26 17:43:54 UTC 2012


> I'm looking for some best practices when running Bucardo 4 swap syncs under bad
> connectivity, specifically, how to deal with serialization conflicts caused by a
> combination of large bucardo transactions that accumulate data changes over
> periods of connectivity loss and high rate of changes on the target DB tables?
> 
> It seems that the most efficient way to deal with this is to make Bucardo
> transactions smaller by using multiple herds/syncs for a single database, but
> I'd like to learn about other options.

Well, the two options in B4 is to make smaller herds, or to lock the tables. 
Bucardo can do this locking itself: you have to create files that Bucardo will 
look for and do the heavy locking before the sync starts. The format is:
/tmp/bucardo-force-lock-<syncname>. Hacky, but available if needed. You can 
also stop other things from accessing the tables until things are caught up 
by simply turning off/pausing your app, etc.

However, the large size of the Bucardo deltas was a primary reason for the 
development of Bucardo 5, which does things in a much more efficient way 
and is thus much less likely to develop serialization errors, as the syncs 
now run much, much faster than B4. So the best answer is to try out B5. :)

-- 
Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20121126/2366f2c0/attachment.sig>


More information about the Bucardo-general mailing list