[Dovecot] Slightly more intelligent way of handling issues in sdbox?
Mark Zealey
mark.zealey at webfusion.com
Fri Feb 3 16:16:27 EET 2012
Hi there,
I was doing some testing on sdbox yesterday. Basically I did the
following procedure:
1) Create new sdbox; deliver 2 messages into it (u.1, u.2)
2) Create a copy of the index file (no cache file created yet)
3) deliver another message to the mailbox (u.3)
4) copy back index file from stage (2)
5) deliver new mail
Then the message delivered in stage 3 ie u.3 gets replaced with the
message delivered in (5) also called u.3. Is it possible to try an
open/access call on the mail file before overwriting it with the new
message in case we have an issue where an older version of the index
file is present (eg due to nfs latencies) ? I notice when you are
expunging files you very carefully open them and read the header
contents to make sure the guid is the same as in the index - any reason
that this is not done when delivering? This is with lmtp on dovecot 2.0.16.
I also noticed that index corruption in sdbox does not get automatically
repaired. I know this is because the flags are stored in the index files
so you'd get some loss of flags, but in many situations for us this
auto-repair with flag loss would be better than having the mailbox
locked out until we manually do a force-resync on it. (speaking of
which, it would be great if force-resync also rebuilt the cache files if
there are valid cache files around, rather than just doing away with them)
Thanks,
Mark
More information about the dovecot
mailing list