]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: Commit when changing mailbox
authorMarco Bettini <marco.bettini@open-xchange.com>
Fri, 14 Apr 2023 13:03:27 +0000 (13:03 +0000)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Mon, 17 Apr 2023 21:36:03 +0000 (21:36 +0000)
Soft-commit before fts_index_set_last_uid() to prevent new items being
missed in next search.

src/plugins/fts-solr/fts-backend-solr.c

index 25b7ab3226699949f7719b11efa94cf3f9a5e455..b3580a6ebb350824124d2e9ecb3531aa781ad748 100644 (file)
@@ -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;
        }