On Fri, 3 Nov 2006, Nancy Lin wrote:
But uring the last few years, the number of users with 1GB or more mailboxes have jumped. And since all mailboxes other than inbox don't have mbx format, performance is starting to be an issue. I'm now looking at the mix format or switching to Cyrus. Is the mix format stable enough now to put in production?

That's a difficult question. mix is still rather new, and like any other human endeavor has had its growing pains.

As of imap-2006c1 (released October 25) there are no known bugs in the mix driver. The problem is, that's only 9 days ago. Most people would see that as an inadequate track record.

I can say that people are running it in production. Most of these are the "early adopter" sorts. I don't think that any of them have abandoned mix; and I've tried to be responsive when problems have arisen.

My recommendation is to try mix in a test/experimental situation for a limited set up mailboxes/users. Hopefully, this will increase your own comfort level and at the same time allow the track record to improve.

It is possible to run mix mailboxes simultaneously with other mailboxes. Multiple format support is one of the big points of UW imapd.

If email is corrupted for any reason, is it recoverable?

This is still largely uncharted territory.

mix has some redundancy of data (an index can be rebuilt from the data files, albeit at the possible cost of "unexpunging" some expunged messages).

mix also separates data to avoid unnecessary writes to static data. For example, the only writes done to the index and data files are appends of new mail and message expunges. Flag changes, which happen much more frequently, go into a separate status file. This greatly reduces the corruption opportunities which happened to mbx and traditional UNIX format flat files.

To date, all mix corruption that has occurred was been due to a bug in the mix driver code which was (1) subsequently fixed and (2) detection and self-healing code created in the mix driver to remediate it.

However, at some point we need to deal with how corrupted mix mailboxes are to be fixed manually, and to get out the knowledge of what to do about it.

Here is what is known so far.  All of this is theoretical.

(a) A corrupted sort cache file can be deleted without no harm done
    other than a temporary loss of efficiency.  A new sort cache file
    will be automatically created and repopulated at the next sort or
    thread.

    Repair tool: rm .mixsortcache

(b) A corrupted message status file can be replaced with a dummy
    status file.  The harm done will be the loss of flags on all
    messages.  Alternatively, restore the status file from backup.

    Repair tool: substitute .mixstatus from a newly-created (and empty)
    mix mailbox.

    Alternate repair tool: substitute .mixstatus from an earlier, known
    good, version of that mix mailbox.  This will restore the flags as
    of that time.  It's always safe to restore older .mixstatus files.

(c) A corrupted mailbox metadata file can be replaced with a newly
    built metadata file with no keywords, new UIDVALIDITY, and UIDLAST
    taken from the last message in the index.  The harm done will be
    the lost of the UIDVALIDITY (meaning some clients will re-download
    all messages) and of defined keywords.

    Repair tool: substitute .mixmeta from a newly-created (and empty)
    mix mailbox.

(d) A corrupted message index file can be rebuilt from the message
    data files.  The harm done will be the possible "unexpunge" of
    some expunged messages.

    Repair tool: none written as yet.

(e) A corrupted message data file can be repaired using techniques
    similar to repairing corrupted mbx files.  It is likely that the
    message index file will also need to be rebuilt.

    Repair tool: none written as yet.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to