[Dovecot] dotlock errors without using dotlock
I have a few clients that have more than one user in the same mailbox.
I have my setup using fctrl for mailbox and index locking. My mail is
stored on a network file system (gluster) and my indexes are stored on
the local drive. I have a few issues:
- My users mailboxes have issues where messages will be mixed up (you go to open a message and it gets a different message)
- messages will dissappear
- unable to open or delete messages
- errors in log about dotlocks being overwritten
Here is some of the log entries:
Our dotlock file /mail/mydomain.com/webmaster/dovecot-uidlist.lock was overridden (kept it 0 secs) utime(/mail/mydomain.com/webmaster/dovecot-uidlist.lock) failed: No such file or directory Transaction log file /mailindex/mydomain.com/webmaster/.INBOX/dovecot.index.log: marked corrupted Our dotlock file /mail/mydomain.com/webmaster/dovecot-uidlist.lock was deleted (kept it 0 secs) FETCH for mailbox INBOX UID 4223 got too little data: 3078 vs 19825
My dovecot version is 1.0.9, my config is as follows:
# 1.0.9: /etc/dovecot/dovecot.conf info_log_path: /dev/null protocols: imap imaps pop3 pop3s listen(default): *:143 listen(imap): *:143 listen(pop3): *:110 ssl_listen(default): *:943 ssl_listen(imap): *:943 ssl_listen(pop3): *:995 ssl_disable: yes ssl_cert_file: /etc/dovecot/ssl/certs/dovecot.pem ssl_key_file: /etc/dovecot/ssl/private/dovecot.pem disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_processes_count: 10 mail_location: maildir:/mail/%d/%Ln:INDEX=/mailindex/%d/%Ln mmap_disable: yes mbox_write_locks: fcntl mbox_dirty_syncs: no mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %u namespace: type: private separator: . inbox: yes namespace: type: private separator: . prefix: INBOX. inbox: yes hidden: yes auth default: cache_size: 2048 count: 5 passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: sql args: /etc/dovecot/dovecot-sql.conf
Any help would be appreciated...
On Thu, 2007-12-20 at 10:31 -0500, Brian Taber wrote:
I have a few clients that have more than one user in the same mailbox.
I have my setup using fctrl for mailbox and index locking. My mail is stored on a network file system (gluster) and my indexes are stored on the local drive. I have a few issues:
- My users mailboxes have issues where messages will be mixed up (you go to open a message and it gets a different message)
- messages will dissappear
- unable to open or delete messages
- errors in log about dotlocks being overwritten
Do you use Dovecot on multiple servers? I just tested GlusterFS a few days ago myself and noticed that it has similar caching issues as NFS (http://wiki.dovecot.org/MailLocation/SharedDisk). For a reliable setup you pretty much need v1.1 with mail_nfs_storage=yes.
Our dotlock file /mail/mydomain.com/webmaster/dovecot-uidlist.lock was overridden (kept it 0 secs)
Although I don't think this should happen anyway. Do you have all the servers' clocks synchronized (less than 1sec apart)?
On Thu, 2007-12-20 at 10:31 -0500, Brian Taber wrote:
I have my setup using fctrl for mailbox and index locking.
Oh, and as for this, Dovecot uses only dotlocking for maildir's dovecot-uidlist file, regardless of what your settings are. I was thinking about changing this in future releases though.
BTW. fcntl locking is broken in GlusterFS on 64bit systems (http://lists.gnu.org/archive/html/gluster-devel/2007-12/msg00151.html).
Maybe that is the issue... I only have 1 server right now for retrieving mail.... I will try v1.1
Brian Taber Owner/IT Specialist Diverse Computer Group Office: 774-206-5592 Cell: 508-496-9221 btaber@diversecg.com
Timo Sirainen wrote:
On Thu, 2007-12-20 at 10:31 -0500, Brian Taber wrote:
I have my setup using fctrl for mailbox and index locking.
Oh, and as for this, Dovecot uses only dotlocking for maildir's dovecot-uidlist file, regardless of what your settings are. I was thinking about changing this in future releases though.
BTW. fcntl locking is broken in GlusterFS on 64bit systems (http://lists.gnu.org/archive/html/gluster-devel/2007-12/msg00151.html).
On 20 Dec 2007, at 16:41, Timo Sirainen wrote:
On Thu, 2007-12-20 at 10:31 -0500, Brian Taber wrote:
I have my setup using fctrl for mailbox and index locking.
Oh, and as for this, Dovecot uses only dotlocking for maildir's dovecot-uidlist file, regardless of what your settings are. I was thinking about changing this in future releases though.
A vote for getting this changed - we've been seeing terrible IMAP
performance under Solaris 10 when CONTROL points to a ZFS filesystem,
seemingly caused by excessive latency on the low level zfs_create()
call (client sessions sometimes lock for in excess of a minute).
Background reading suggests that ZFS currently reacts badly to the
constant creation/deletion of many tiny files (to give you an idea of
scale we have ~20k users). As a workaround we've had to create a UFS
filesystem on a ZFS volume to house CONTROL files.
Regards, Robin
participants (4)
-
Brian Taber
-
Brian Taber
-
Robin Breathe
-
Timo Sirainen