Cyrus version 2.3.10 is almost ready to be released. As part of the preparations for release, we’ve been porting our Cyrus patches forwards and testing that it will all work correctly.
The most exciting part of this new Cyrus release is full SHA1 GUID (unique identifiers) on each message. This is a development which has grown out of our earlier work to use partial MD5 hashes as the UUID value in previous Cyrus releases instead of a locally calculated value, allowing better integrity checking across our replicas. The SHA1 will provide much stronger cryptographic guarantees and simplify our backup infrastructure considerably as well (eventually – first there’s the changeover which will cause extra IO load on the backup server too – thankfully it has plenty of spare capacity, both disk and CPU)
We provide the totally non standard “FETCH GUID” command to allow this SHA1 value to be seen through IMAP as well (this is not in upstream Cyrus and is subject to change)
However – there is a downside. The new index format (an additional 8 bytes per record) will cause every single mailbox to be “upgraded” when it is first accessed after the upgrade. To ease the load on our servers, we will be phasing this upgrade in slowly, one store at a time. As each store is upgraded, there will be a short downtime (approx 1 minute) followed by higher IO and hence slower access for all users until the indexes are upgraded. The first time you access your mailbox after the upgrade will be particularly slow, as all your indexes get upgraded!
We will be running a background task trickling through and pre-upgrading mailboxes as well.
I’ll update you again, here and on the forum, when this process is finished.