From d46a67f64b43814c09172ec9c950cbf5666548ac Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Thu, 23 Feb 2023 21:34:55 +0100 Subject: [PATCH] Reenable the nosync options for the database fixes #1355 So far we haven't seen any reduction in issues about database corruption, so presumably this is unrelated and the lag is annoying. --- src/Cache.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Cache.cpp b/src/Cache.cpp index 0879d36f..b27a8b37 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -290,7 +290,12 @@ Cache::setup() // // 2022-10-28: Disable the nosync flags again in the hope to crack down on some database // corruption. - env_.open(cacheDirectory_.toStdString().c_str()); //, MDB_NOMETASYNC | MDB_NOSYNC); + // 2023-02-23: Reenable the nosync flags. There was no measureable benefit to resiliency, + // but sync causes frequent lag sometimes even for the whole system. Possibly the data + // corruption is an lmdb or filesystem bug. See + // https://github.com/Nheko-Reborn/nheko/issues/1355 + // https://github.com/Nheko-Reborn/nheko/issues/1303 + env_.open(cacheDirectory_.toStdString().c_str(), MDB_NOMETASYNC | MDB_NOSYNC); } catch (const lmdb::error &e) { if (e.code() != MDB_VERSION_MISMATCH && e.code() != MDB_INVALID) { throw std::runtime_error("LMDB initialization failed" + std::string(e.what()));