From: Marco Bettini Date: Fri, 14 Apr 2023 13:03:27 +0000 (+0000) Subject: fts-solr: Commit when changing mailbox X-Git-Tag: 2.4.0~2796 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbafd74794daaa7980037d803c663b03e1c6634e;p=thirdparty%2Fdovecot%2Fcore.git fts-solr: Commit when changing mailbox Soft-commit before fts_index_set_last_uid() to prevent new items being missed in next search. --- diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index 25b7ab3226..b3580a6ebb 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -443,8 +443,12 @@ fts_backend_solr_update_set_mailbox(struct fts_backend_update_context *_ctx, last_uid before we know it has succeeded */ if (fts_backed_solr_build_flush(ctx) < 0) _ctx->failed = TRUE; - else if (!_ctx->failed) - fts_index_set_last_uid(ctx->cur_box, ctx->prev_uid); + else if (!_ctx->failed) { + if (fts_backend_solr_commit(ctx) < 0) + _ctx->failed = TRUE; + else + fts_index_set_last_uid(ctx->cur_box, ctx->prev_uid); + } ctx->prev_uid = 0; }