Add a double-multi-master replication makedelta test.
authorDavid E. Wheeler <david@justatheory.com>
Wed, 12 Dec 2012 01:06:52 +0000 (17:06 -0800)
committerDavid E. Wheeler <david@justatheory.com>
Wed, 12 Dec 2012 01:06:52 +0000 (17:06 -0800)
commita84f0a7908bc362fc2efafaf7af22d2a21f53169
treeb10872a0f27b2a63e0b0fcb82752f13a5fb64d72
parent9917ea91a66de1259a2635a9ec26f80d535cf97b
Add a double-multi-master replication makedelta test.

Consider this:

* You have two databases, A and B, with multi-master replication between all
  of their tables.
* You have a third database, C that needs to be the target of replication for
  just one of those tables, "widgets".
* If A goes down, C stil needs the widgets updated on B.

Solution:

* Add a relgroup with just "widgets"
* Enalbe "makedelta" on "widgets"
* Add a dbgroup with A:source, B:source, C:target
* Create a sync with that dbgroup and the widgets-only relgroup.

This is effectively the case these new tests demonstrate. However, it means
that there are *two* multi-master replication syncs between A and B for the
"widgets" table. This is a bit of a drag, as it means that everything will be
synced twice.

But not only that, if A goes down, will the sync with C as the target succeed
or fail?
t/10-makedelta.t