Warning: Expunged message reappeared, giving a new UID with FTS enabled

symphorien_dovecot at xlumurb.eu symphorien_dovecot at xlumurb.eu
Sat Aug 1 22:49:40 EEST 2020


Hello,

In some conditions with FTS enabled I get this warning:

Warning: Expunged message reappeared, giving a new UID

Here is how I can reproduce it:

I have a test setup with a (postfix) virtual alias 
multi-alias at example.com which delivers emails to user1@ and user2@

If
* I send an email to multi-alias@
* expunge user1@ mailbox with
doveadm expunge -u user1 at example.com mailbox Inbox ALL

then the warning fires.


If
* FTS plugin is disabled (I tried with squat and xapian), or
* multi-alias@ redirects to only user1@
* I send the email directly to user1@

then no warning.

Can I just ignore the warning ?

dovecot -n:
# 2.3.10.1 (a3d0e1171): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.10 (bf8ef1c2)
# OS: Linux 5.4.51 x86_64  ext4
# Hostname: server
auth_debug = yes
auth_mechanisms = plain login
base_dir = /run/dovecot2
default_internal_group = dovecot2
default_internal_user = dovecot2
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
lmtp_save_to_detail_mailbox = yes
mail_access_groups = virtualMail
mail_debug = yes
mail_gid = virtualMail
mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/mailindex
mail_plugins = " fts fts_squat quota"
mail_uid = virtualMail
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 index ihave duplicate mime foreverypart extracttext
imapsieve vnd.dovecot.imapsieve
namespace inbox {
  inbox = yes
  location =
  prefix =
  separator = .
}
passdb {
  args = /run/dovecot2/passwd
  driver = passwd-file
}
plugin {
  fts = squat
  fts_autoindex = yes
  fts_autoindex_exclude = Junk
  fts_enforced = yes
  fts_squat = partial=4 full=10
  imapsieve_mailbox1_before = file:/var/lib/dovecot/imap_sieve/report-
spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/var/lib/dovecot/imap_sieve/report-
ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  plugin = fts fts_squat
  quota = maildir:User quota
  quota_grace = 10%%
  quota_rule = *:storage=100G
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Mailbox is full
  quota_status_success = DUNNO
  sieve = file:/var/sieve/%u/scripts;active=/var/sieve/%u/active.sieve
  sieve_after = /var/lib/dovecot/sieve/after
  sieve_default = file:/var/sieve/%u/default.sieve
  sieve_default_name = default
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_pipe_bin_dir = /nix/store/7cdslbbivi1b3yagvw18k8m4nfs2n4ym-
pipe_bin/pipe/bin
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
pop3_uidl_format = %08Xv%08Xu
protocols = sieve imap lmtp
sendmail_path = /run/wrappers/bin/sendmail
service auth {
  unix_listener auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = root
}
service lmtp {
  unix_listener dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service quota-status {
  client_limit = 1
  executable = /nix/store/5b9lp6w8jzca86djawnk6aqc3n4p2mh0-dovecot-
2.3.10.1/libexec/dovecot/quota-status -p postfix
  inet_listener {
    port = 12340
  }
}
ssl = required
ssl_cert = </var/certs/cert-mail.example.com.pem
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = yes
userdb {
  args = /run/dovecot2/passwd
  driver = passwd-file
}
verbose_ssl = yes
protocol imap {
  mail_max_userip_connections = 100
  mail_plugins = " fts fts_squat quota imap_quota imap_sieve"
  namespace inbox {
    inbox = yes
    location =
    mailbox Drafts {
      auto = subscribe
      special_use = \Drafts
    }
    mailbox Junk {
      auto = subscribe
      special_use = \Junk
    }
    mailbox Sent {
      auto = subscribe
      special_use = \Sent
    }
    mailbox Trash {
      auto = no
      special_use = \Trash
    }
    prefix =
  }
}
protocol pop3 {
  mail_max_userip_connections = 100
}
protocol lmtp {
  mail_plugins = " fts fts_squat quota sieve"
}








More information about the dovecot mailing list