From: Vsevolod Stakhov Date: Tue, 1 Dec 2015 18:18:12 +0000 (+0000) Subject: Another try to fight with WAL growth X-Git-Tag: 1.1.0~435 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c404c7dafbae9b37edfeefdc1cc401c722bdfe02;p=thirdparty%2Frspamd.git Another try to fight with WAL growth --- diff --git a/src/libserver/fuzzy_backend.c b/src/libserver/fuzzy_backend.c index b22b8d010a..718274ca5d 100644 --- a/src/libserver/fuzzy_backend.c +++ b/src/libserver/fuzzy_backend.c @@ -674,7 +674,7 @@ rspamd_fuzzy_backend_add (struct rspamd_fuzzy_backend *backend, gboolean rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend) { - gint rc; + gint rc, wal_frames, wal_checkpointed; rc = rspamd_fuzzy_backend_run_stmt (backend, TRUE, RSPAMD_FUZZY_BACKEND_TRANSACTION_COMMIT); @@ -686,6 +686,21 @@ rspamd_fuzzy_backend_finish_update (struct rspamd_fuzzy_backend *backend) RSPAMD_FUZZY_BACKEND_TRANSACTION_ROLLBACK); return FALSE; } + else { + /* Perform wal checkpoint (might be long) */ + if (sqlite3_wal_checkpoint_v2 (backend->db, + NULL, + SQLITE_CHECKPOINT_TRUNCATE, + &wal_frames, + &wal_checkpointed) != SQLITE_OK) { + msg_warn_fuzzy_backend ("cannot commit checkpoint: %s", + sqlite3_errmsg (backend->db)); + } + else { + msg_info_fuzzy_backend ("total number of frames in the wal file: " + "%d, checkpointed: %d", wal_frames, wal_checkpointed); + } + } return TRUE; }