From d0c457a06896a1394a1bdaeed88c7003b9dff548 Mon Sep 17 00:00:00 2001 From: Patrick LeBlanc Date: Fri, 5 Jul 2019 14:20:39 -0500 Subject: [PATCH] Parameterized the journal size threshold to trigger a flush. --- src/Synchronizer.cpp | 5 +++-- src/Synchronizer.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Synchronizer.cpp b/src/Synchronizer.cpp index 2d4ac8dec..ceb77e49e 100755 --- a/src/Synchronizer.cpp +++ b/src/Synchronizer.cpp @@ -59,6 +59,7 @@ Synchronizer::Synchronizer() : maxUploads(0) threadPool.setMaxThreads(maxUploads); die = false; uncommittedJournalSize = 0; + journalSizeThreshold = cache->getMaxCacheSize() / 2; syncThread = boost::thread([this] () { this->periodicSync(); }); } @@ -100,7 +101,7 @@ void Synchronizer::newJournalEntry(const string &key, size_t size) { boost::unique_lock s(mutex); _newJournalEntry(key, size); - if (uncommittedJournalSize > 50000000) + if (uncommittedJournalSize > journalSizeThreshold) { uncommittedJournalSize = 0; s.unlock(); @@ -113,7 +114,7 @@ void Synchronizer::newJournalEntries(const vector > &keys) boost::unique_lock s(mutex); for (auto &keysize : keys) _newJournalEntry(keysize.first, keysize.second); - if (uncommittedJournalSize > 50000000) + if (uncommittedJournalSize > journalSizeThreshold) { uncommittedJournalSize = 0; s.unlock(); diff --git a/src/Synchronizer.h b/src/Synchronizer.h index 7d43a7653..7a909842f 100755 --- a/src/Synchronizer.h +++ b/src/Synchronizer.h @@ -87,7 +87,7 @@ class Synchronizer : public boost::noncopyable boost::thread syncThread; const boost::chrono::seconds syncInterval = boost::chrono::seconds(10); void periodicSync(); - size_t uncommittedJournalSize; + size_t uncommittedJournalSize, journalSizeThreshold; SMLogging *logger; Cache *cache;