Message UUIDs for replication

David Carter dpc22 at cam.ac.uk
Fri Jun 15 04:32:04 EDT 2007


The good people at Fastmail have a patch to use the first 11 bytes from 
the message MD5 as the message UUID. I would like to second this proposal.

The existing UUID scheme is something of a botch job after my first plan 
(Mailbox UniqueID + Message UID) fell through. There is also some 
potential for people to shoot themselves in the foot if they are not 
obsessively paranoid about the /var/imap/master_uuid files.

In the long term I think that it would make sense to reserve some space in 
cyrus.index the next time that the index format is changed so that UUIDs 
can be expanded to be (at least) 16 bytes. However I agree with Rob that 
the chances of a birthday paradox collision with 11 bytes are tiny.

Here are a pair of patches:

   http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/patches/2.3.8/

md5_uuid_add.patch:
   Add "uuid_mode: short_md5" as a minimal clean patch to 2.3.8

md5_uuid_replace.patch:
   Strip out the existing UUID code and use short_md5 in preference.

Both of these patches should continue to work with the old "schema 1" 
UUIDs. Other than myself, the only people who are likely to have
schema 1 UUIDs assigned are those who patched the startup bug in 2.3.8.

-- 
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