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