diff --git a/kernel/sql/database.go b/kernel/sql/database.go index 1f46dd6d5..35c83d946 100644 --- a/kernel/sql/database.go +++ b/kernel/sql/database.go @@ -64,6 +64,7 @@ func InitDatabase(forceRebuild bool) (err error) { util.IncBootProgress(2, "Initializing database...") if forceRebuild { + ClearQueue() WaitForWritingDatabase() } diff --git a/kernel/sql/queue.go b/kernel/sql/queue.go index 02e796089..c9c71cfa2 100644 --- a/kernel/sql/queue.go +++ b/kernel/sql/queue.go @@ -85,6 +85,12 @@ func IsEmptyQueue() bool { return 1 > len(operationQueue) && !util.IsMutexLocked(&txLock) } +func ClearQueue() { + upsertTreeQueueLock.Lock() + defer upsertTreeQueueLock.Unlock() + operationQueue = nil +} + func flushTreeQueue() { ops := mergeUpsertTrees() if 1 > len(ops) {