[Dovecot] dovecot-1.0-test8 / nfs / maildir / flags issues
maikel at ladot.com
Thu May 13 12:34:17 EEST 2004
While (bluntly) testing the prerelease version of dovecot on our
mailfarm (just for the webmail imap) we noticed some small problems:
- While our OLD dovecot/imap drove the load to a maximum of 1 over a
day after running, the new dovecot/imap pushes it easily to 20. This is
mainly due to a LOT more disk activity. This is probably caused by the
fact we a) use indexes on disk and b) there are no indexes left. I hope
this will smooth out when most of the indexes are made.
- We notice some very strange "delete" flag things in our IMP webmail
system (working on a test environment to be more specific). The problem
is that if you mark some messages "deleted", a lot of messages that do
NOT have "deleted" flag are also in the deleted list. Since nothing
changed on the webmail, it must be in the way dovecot responds
different in the new version on certain requests.
- In the dotlocking code, it seems that dovecot uses time() for it's
internal locktime, and uses stat() to see if the file-time of the lock
is different. Since we use nfs there might be a time-difference on the
file creation and time() when our nfs gets "busy". This happens a lot
when the indexes are created for multiple users at the same time
resulting in a lot of:
May 12 08:57:44 mf1 dovecot: imap(user at domain.tld): Our dotlock
dovecot.index.log.lock was modified (1084345063 vs 1084345062),
assuming it wasn't overridden
I am not completely sure if this interrupts imap traffic. I think this
MIGHT be solved by storing a stat() time as the locktime instead of a
time(), but this might be intentional.
- I patched dovecot to report its pid in syslog messages, in order to
find the "killed by signal X" where X are mostly 11 and 6 processes.
The pids reported do not show up in the rest of the log file, so these
may be "disconnected" sessions? It seems that the "old" version has the
same problem, and nobody really complained it was broken, so this isn't
a big issue.
To clarify our setup:
We use multiple mail-frontends running dovecot that are load-balanced
by a cisco load-balancer. We mount our mailstores from an active-active
backend cluster, both nodes export a big partition, and take over the
job of the other in case of a problem. This seems to go pretty smooth.
Our users are stored in a pgsql database. In our current setup, we run
a modified cvs version of dovecot from WAY back, to support nfs. The
backdraw is that we can't use the newer dovecot releases, since I
couldn't modify the source in the way I did it the first time (with a
LOT of help from Timo :P).
If anyone has some ideas on where to look and where to test in order to
get our problems more clear, I would be very grateful :)
Ladot Nederland BV.
More information about the dovecot