Package: dovecot-fts-xapian
Version: 1.5.5-1+b2

Dear maintainer,

FTS optimization does not work well when an expunged message is not indexed. This happens when the message is expunged from a mailbox that is excluded from auto-indexing (usually Trash folder) and fts_autoindex is enabled. When this unindexed message is moved out of the mailbox its UID is put into an expungement database (sqlite file). FTS optimization takes this expunged UID and generates this type of error:

Error: FTS Xapian: Optimize UID=14 inexistant

This UID stays in the expungement DB forever and as time goes on, next optimizations generate more and more errors.

Steps to reproduce:

1) Use this settings

plugin {
    fts = xapian
    fts_xapian = partial=4 full=20 verbose=0
    fts_autoindex = yes
    fts_enforced = yes
    fts_autoindex_exclude = \Trash
}

2) Move a message into Trash folder and then expunge this message (I used IMAP client Roundcube).
3) Run this command: doveadm fts optimize -u u...@example.com


This issue is fixed in the upstream version 1.5.6. However, this version brings another bug that breaks indexing. So it is impossible to simply package the upstream version 1.5.6.

Best regards,
Petr Sorm

Reply via email to