Mercurial > dovecot > core-2.2
view doc/man/doveadm-fts.1.in @ 22930:bfeda12bb54a
lib-index: mail_index_sync_map() - Don't try to-resync extension updates
This was done to call extension record sync handlers, but the previous
commit removes them. Fixes a problem where obsolete cache offsets were
used in some situations:
- Some cache updates are from external transactions and some are from
non-external transactions. This is because cache offset updates are being
added by whatever the parent index transaction is.
- When mail_index_sync_map() is mapping MAIL_INDEX_SYNC_HANDLER_FILE, it
has already synced the map. But it's calling mail_index_sync_record()
for non-external transactions to call expunge handlers and extension
update handlers. It's calling the regular mail_index_sync_record() to do
this work.
- But mail_index_sync_record() is actually still updating the map. So now
mail_index_sync_record() is called for all non-external cache updates,
but not for external cache updates! And since these are somewhat
randomly either external or non-external, the end result is that the
cache offset may be obsolete.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sun, 29 Apr 2018 12:31:23 +0300 |
parents | cb108f786fb4 |
children |
line wrap: on
line source
.\" Copyright (c) 2014-2018 Dovecot authors, see the included COPYING file .TH DOVEADM\-FTS 1 "2015-05-09" "Dovecot v2.2" "Dovecot" .SH NAME doveadm\-fts \- Manipulate the Full Text Search (FTS) index .\"------------------------------------------------------------------------ .SH SYNOPSIS .BR doveadm " [" \-Dv ] .\" [\fB\-f\fP \fIformatter\fP] .BI fts \ command .RI [ OPTIONS ]\ [ ARGUMENTS ] .\"------------------------------------------------------------------------ .SH DESCRIPTION The doveadm fts .I COMMANDS can be used to manipulate the Full Text Search (FTS) index. .\"------------------------------------------------------------------------ .\" @INCLUDE:global-options-formatter@ @INCLUDE:global-options@ .\" --- command specific options --- "/. .PP This command uses by default the output formatter .B flow (without the .IR key = prefix). .PP Command specific .IR options : .\"------------------------------------- @INCLUDE:option-A@ .\"------------------------------------- @INCLUDE:option-F-file@ .\"------------------------------------- @INCLUDE:option-S-socket@ .\"------------------------------------- @INCLUDE:option-u-user@ .\"------------------------------------------------------------------------ .SH ARGUMENTS .TP .I namespace The name of a namespace, e.g. the name of the shared namespace. When no namespace was given, the user\(aqs private namespace will be used. .\"------------------------------------------------------------------------ .SH COMMANDS .SS fts optimize .B doveadm fts optimize [\fB\-u\fP \fIuser\fP|\fB\-A\fP|\fB\-F\fP \fIfile\fP] [\fB\-S\fP \fIsocket_path\fP] .RI [ namespace ] .PP Optimize the full text search index. This is also done automatically by the full text search engines, but this enforces it to happen. .\"------------------------------------- .SS fts rescan .B doveadm fts rescan [\fB\-u\fP \fIuser\fP|\fB\-A\fP|\fB\-F\fP \fIfile\fP] [\fB\-S\fP \fIsocket_path\fP] .RI [ namespace ] .PP Scan what mails exist in the full text search index and compare those to what actually exist in mailboxes. This removes mails from the index that have already been expunged and makes sure that the next .B doveadm index will index all the missing mails (if any). .\"------------------------------------------------------------------------ @INCLUDE:reporting-bugs@ .\"------------------------------------------------------------------------ .SH SEE ALSO .BR doveadm (1), .BR doveadm\-index (1) .\"------------------------------------- .PP Additional resources: .IP "Full text search indexing" http://wiki2.dovecot.org/Plugins/FTS