[Dovecot] old messages being delivered to blackberry
Several users are reporting old messages (sometime years old) are being delivered as new on their blackberry devices... I've confirmed that this happens to all blackberry users... I believe the problem is related to this error:
Maildir: Expunged message reappeared, giving a new UID
In fact, this is the only mail related error message on the server... the mail is stored on a glusterfs share, and I'm using director to prevent simultaneous access... although I wasn't able to get LMTP to work with Director... to simplify things, I've temporarily only enabled 1 dovecot server anyway, to get everything else working first... I'll fiddle with lmtp later... so right now only 1 server is accessing the mailboxes. Delivery is also done from that one server, from postfix.
Possibly caused by GlusterFS, the indexes were still getting corrupted, even with only 1 server... so I've moved the indexes to a local directory on each server. I'm no longer getting index related errors... but the expunged error is still occuring... and the error seems to happen a few moments before the BB gets a bunch of messages... so it's very likely related.
I would like to continue using GlusterFS if possible; I haven't found any indication that it is outright unsupported, as long as I'm using Director...
I am using dovecot 2.0.16.
Any help would be appreciated!
Here is my configuration:
# 2.0.16: /etc/dovecot/dovecot.conf # OS: Linux 3.1.9-1.4-desktop i686 openSUSE 12.1 (i586) auth_mechanisms = plain login disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_fsync = always mail_location = maildir:~/Maildir:INDEX=/var/indexes/%u mail_nfs_storage = yes mail_privileged_group = vmail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage sieve = /var/vmail/%d/%n/.sieve } postmaster_address = postmaster@bigdata.nb.ca service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail mode = 0666 user = vmail } user = root } service lmtp { inet_listener lmtp { port = 24 } unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0660 user = postfix } } ssl_ca =
Luc
On 10.4.2012, at 16.45, Luc Belliveau wrote:
Several users are reporting old messages (sometime years old) are being delivered as new on their blackberry devices... I've confirmed that this happens to all blackberry users... I believe the problem is related to this error:
Maildir: Expunged message reappeared, giving a new UID
This means:
- readdir() returns maildir file X
- Later readdir() doesn't return file X, so Dovecot thinks the mail is expunged and also tells the client the mail is expunged
- Later readdir() once again returns file X, so Dovecot can't really do anything except treat it as a new mail.
Possibly caused by GlusterFS, the indexes were still getting corrupted, even with only 1 server... so I've moved the indexes to a local directory on each server. I'm no longer getting index related errors... but the expunged error is still occuring... and the error seems to happen a few moments before the BB gets a bunch of messages... so it's very likely related.
I would like to continue using GlusterFS if possible; I haven't found any indication that it is outright unsupported, as long as I'm using Director...
If glusterfs can't do readdir() reliably, there's not a whole lot you can do.. Except maybe switch to another mailbox format. But if you're getting index corruption also with 1 Dovecot server, it doesn't look very promising.
I've switched to NFS instead of GlusterFS, and the problems have disappeared.
It's too bad... GlusterFS had some nice features ...
On 04/10/2012 12:11 PM, Timo Sirainen wrote:
On 10.4.2012, at 16.45, Luc Belliveau wrote:
Several users are reporting old messages (sometime years old) are being delivered as new on their blackberry devices... I've confirmed that this happens to all blackberry users... I believe the problem is related to this error:
Maildir: Expunged message reappeared, giving a new UID This means:
- readdir() returns maildir file X
- Later readdir() doesn't return file X, so Dovecot thinks the mail is expunged and also tells the client the mail is expunged
- Later readdir() once again returns file X, so Dovecot can't really do anything except treat it as a new mail.
Possibly caused by GlusterFS, the indexes were still getting corrupted, even with only 1 server... so I've moved the indexes to a local directory on each server. I'm no longer getting index related errors... but the expunged error is still occuring... and the error seems to happen a few moments before the BB gets a bunch of messages... so it's very likely related.
I would like to continue using GlusterFS if possible; I haven't found any indication that it is outright unsupported, as long as I'm using Director... If glusterfs can't do readdir() reliably, there's not a whole lot you can do.. Except maybe switch to another mailbox format. But if you're getting index corruption also with 1 Dovecot server, it doesn't look very promising.
participants (2)
-
Luc Belliveau
-
Timo Sirainen