]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-solr: Only increment ctx->mails_since_flush after flush
authorAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 29 Apr 2019 11:07:19 +0000 (14:07 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 29 Apr 2019 13:05:40 +0000 (16:05 +0300)
Otherwise it gets wrongly increment before flush.

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

index 101a7faae4932e1d46dbe1c124e99339f1ae12d8..ea698a81af49f565b156ba3b1ec8ad89cb8503ad 100644 (file)
@@ -494,10 +494,11 @@ fts_backend_solr_uid_changed(struct solr_fts_backend_update_context *ctx,
        struct solr_fts_backend *backend =
                (struct solr_fts_backend *)ctx->ctx.backend;
 
-       if (ctx->mails_since_flush++ >= SOLR_MAIL_FLUSH_INTERVAL) {
+       if (ctx->mails_since_flush >= SOLR_MAIL_FLUSH_INTERVAL) {
                if (fts_backed_solr_build_flush(ctx) < 0)
                        ctx->ctx.failed = TRUE;
        }
+       ctx->mails_since_flush++;
        if (ctx->post == NULL) {
                if (ctx->cmd == NULL)
                        ctx->cmd = str_new(default_pool, SOLR_CMDBUF_SIZE);