[Dovecot] Expunged message reappeared, giving a new UID

Simon Fraser srf at sanger.ac.uk
Fri Jul 26 18:41:41 EEST 2013


I've just converted the mailboxes to mdbox, so mail_location now looks
like this:

mail_location = mdbox:~/mail

The log entry about messages reappearing no longer happens, but the
symptoms are the same - if I delete a message, it instantly reappears.

Simon.


On Fri, 2013-07-26 at 11:28 +0100, Simon Fraser wrote:
> I am running dovecot 2.2.2 with tcp based replication, and experiencing
> some duplicated emails. `doveconf -n` output is below.
> 
> I have narrowed it down to the following scenario:
> 
> An email arrives, and is successfully replicated to both nodes. It is in
> INBOX/new/ at this point on both servers. 
> 
> Connect with a mail client, and delete the message - without delayed
> expunge. So, for example, mutt (press 'd' then '$' to sync the mailbox),
> or Evolution set to immediately delete.
> 
> The following log entry appears on the server the client is connected
> to:
> 
> Jul 26 10:40:55 intmail3a dovecot: imap(srf):
> Warning: /mail/spool/s/srf/mail/INBOX/dovecot-uidlist: Duplicate file
> entry at line 5: 1374831638.M830754P11591.intmail3a,S=1289,W=1321 (uid
> 733481 -> 733482) - retrying by re-reading from beginning
> Jul 26 10:40:55 intmail3a dovecot: imap(srf): Warning:
> Maildir /mail/spool/s/srf/mail/INBOX: Expunged message reappeared,
> giving a new UID (old uid=733481,
> file=1374831638.M830754P11591.intmail3a,S=1289,W=1321)
> 
> The email reappears in the mailbox, although this time it is in
> INBOX/new on one node and INBOX/cur on the other. As best I can tell
> it's always in 'new' on the server the client was connected to and in
> 'cur' on the other. 
> 
> If any other mailbox operation occurs before the delete (Marking the
> message in question as 'read', receiving a new message into the mailbox
> in a different lmtp session, marking as read or deleting & expunging
> some other message) then this prevents the duplication from happening.
> 
> What can I do to prevent this happening? Is there a synchronisation
> interval I can adjust, perhaps? Although the message does get
> synchronised initially.
> 
> Thanks in advance,
> Simon.
> 
> 
> # 2.2.2: /mail/etc/dovecot/dovecot.conf
> # OS: Linux 3.5.0-23-generic x86_64 Ubuntu 12.04.2 LTS
> disable_plaintext_auth = no
> doveadm_password = secret
> first_valid_uid = 100
> lda_mailbox_autocreate = yes
> mail_gid = dovecot
> mail_home = /mail/spool/%1n/%n
> mail_location = maildir:~/mail:INBOX=~/mail/INBOX
> mail_plugins = notify replication
> mail_uid = dovecot
> 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
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     special_use = \Junk
>   }
>   mailbox Sent {
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     special_use = \Trash
>   }
>   prefix =
>   separator = .
> }
> passdb {
>   args = /mail/etc/dovecot/dovecot-ldap.conf.ext
>   driver = ldap
> }
> plugin {
>   mail_replica = tcps:intmail3b:12345
>   sieve_dir = ~/sieve
> }
> protocols = imap lmtp sieve
> service aggregator {
>   fifo_listener replication-notify-fifo {
>     mode = 0600
>     user = dovecot
>   }
>   unix_listener replication-notify {
>     mode = 0600
>     user = dovecot
>   }
> }
> service config {
>   unix_listener config {
>     user = dovecot
>   }
> }
> service doveadm {
>   inet_listener {
>     port = 12345
>     ssl = yes
>   }
>   user = dovecot
> }
> service replicator {
>   process_min_avail = 1
> }
> ssl_cert = </mail/etc/certs/mail-cert.pem
> ssl_client_ca_dir = /etc/ssl/certs
> ssl_key = </mail/etc/certs/mail-key.pem
> userdb {
>   args = /mail/etc/dovecot/dovecot-ldap.userdb.conf.ext
>   driver = ldap
> }
> protocol lmtp {
>   mail_plugins = notify replication sieve
> }
> protocol lda {
>   mail_plugins = notify replication sieve
> }
> protocol imap {
>   mail_max_userip_connections = 30
> }
> 
> 
> 
> 
> 





-- 
 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 


More information about the dovecot mailing list