[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