[Bucardo-general] Multi-master / random off- and online

Chris Keane chris.keane at zzgi.com
Wed Mar 27 13:13:22 UTC 2013


On 1/24/2013 12:09 AM, Greg Sabino Mullane wrote:
> On Wed, Jan 23, 2013 at 05:15:42AM -0800, Chris Keane wrote:
>> Thanks Greg. Would the appropriate approach to implement this be to
>> set up each mobile database with it's own set of uniquely named
>> syncs that just includes itself and the central database?
> Yes.
>
>> Can each single table on the central database participate in
>> multiple syncs without problem?
> Yes
I finally got to the point of setting this up between three databases:

ClientA:source <-----> Main:source <-------> ClientB:source

ClientA and ClientB run their own bucardo processes, syncing with the 
central database Main. Eventually there will be many more Clients, each 
syncing with the central database. We did it this way because the 
Clients are almost always disconnected but randomly reconnect to get 
updates.

Each table in the sync is set with makedelta=Main
The actual data replication is working: updates on ClientA get 
replicated to ClientB and vice versa, updates on Main get replicated to 
both Clients.

Each client has its own set of uniquely named syncs. For example, 
ClientA has a sync named ClientA_noncritical, and ClientB has the same 
one named ClientB_noncritical


Question 1
=========
In log.bucardo, when an update is made to a replicated table on ClientA, 
on ClientB I see a message like:

MCP Warning: Unknown sync to be kicked: "ClientA_noncritical"

So question 1, should the syncs be not uniquely named? Should they all 
be just "noncritical" instead of "ClientX_noncritical"? Note that the 
replication still happens.


Question 2
=========
In log.bucardo I see the replication happen, but also

Expected one row from end_syncrun, but got 3
Unable to correctly update syncrun table! (count was 3)

The count is different on each Client, and sometimes increments with an 
update and sometimes not, but it doesn't decrease. On the updates on 
which it increases I see the update tried, then a message "Could not 
serialize, will sleep for 0.5 seconds", after which it tries again 
successfully.
Is this anything to be concerned about?


Thanks!

Chris





More information about the Bucardo-general mailing list