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