From d8a856dd27cd2687f8ac9bdf84caefd51c22897f Mon Sep 17 00:00:00 2001 From: jm-clius Date: Wed, 30 Mar 2022 21:40:29 +0000 Subject: [PATCH] deploy: e51001fca75f8128b23172f956372d0798fc21ec --- waku/v2/node/storage/message/waku_message_store.nim | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/waku/v2/node/storage/message/waku_message_store.nim b/waku/v2/node/storage/message/waku_message_store.nim index 114f84252..b0f433588 100644 --- a/waku/v2/node/storage/message/waku_message_store.nim +++ b/waku/v2/node/storage/message/waku_message_store.nim @@ -63,6 +63,11 @@ proc deleteOldest(db: WakuMessageStore): MessageStoreResult[void] = let numMessages = messageCount(db.database).get() # requires another SELECT query, so only run in debug mode debug "Oldest messages deleted from DB due to overflow.", storeCapacity=db.storeCapacity, maxStore=db.storeMaxLoad, deleteWindow=db.deleteWindow, messagesLeft=numMessages + # reduce the size of the DB file after the delete operation. See: https://www.sqlite.org/lang_vacuum.html + let resVacuum = db.database.query("vacuum", proc(s: ptr sqlite3_stmt) = discard) + if resVacuum.isErr: + return err("vacuum after delete was not successful: " & resVacuum.error) + ok() proc init*(T: type WakuMessageStore, db: SqliteDatabase, storeCapacity: int = 50000): MessageStoreResult[T] =