Making Replication Robust

David Carter dpc22 at cam.ac.uk
Tue Oct 9 08:57:16 EDT 2007


On Mon, 8 Oct 2007, Rudy Gevaert wrote:

> Note, we are running 2.3.7, I'm going to upgrade when 2.3.10 is out. 
> We have replication in place, but daren't use it.  If I have a method to 
> check if the replica is in sync then I'll dare to do a fail over.

I do this using "-v -v" to sync_client, which gives a running commentary
about just what is going on:

   cyrus-28[cyrus:~]$ replicate -s cyrus-27 -v -v -u dpc99
   USER dpc99
      USER_ALL dpc99
      SELECT user.dpc99
      UPLOAD [1 msgs]
      ENDUSER

A very high tech "grep -v USER /tmp/out" picks out actual updates.

This is one of the things which got dropped when replication was merged 
into 2.3 (my original implementation just didn't fit cleanly). I would 
like to put something similar into 2.3, as this is a quick and easy way to 
check for consistency while fixing up problems. A "dry run" mode which 
supresses updates would also be useful, although probably more work.

The kind of random sampling which Fastmail do probably wouldn't hurt as an 
extra sanity check.

-- 
David Carter                             Email: David.Carter at ucs.cam.ac.uk
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.


More information about the Cyrus-devel mailing list