[Dovecot] dovecot-1.0-test8 / nfs / maildir / flags issues

Maikel Verheijen maikel at ladot.com
Thu May 13 12:34:17 EEST 2004

Hi List,

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[3763]: 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 :)

Kind regards,

Maikel Verheijen
Ladot Nederland BV.

More information about the dovecot mailing list