From 3dab059b6d2747ae7123443870b7b998b31ffb07 Mon Sep 17 00:00:00 2001 From: Mark Travis Date: Tue, 16 Jan 2024 09:21:37 -0800 Subject: [PATCH] Revert "Asynchronously write batches to NuDB. (#4503)" This reverts commit 1d9db1bfdd84e980e44e2f521990eaca42633d5e. --- src/ripple/nodestore/Types.h | 3 +-- src/ripple/nodestore/backend/NuDBFactory.cpp | 22 ++++++++------------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/ripple/nodestore/Types.h b/src/ripple/nodestore/Types.h index 08bcac2d25c..6d8583ed9d1 100644 --- a/src/ripple/nodestore/Types.h +++ b/src/ripple/nodestore/Types.h @@ -36,9 +36,8 @@ enum { // This sets a limit on the maximum number of writes // in a batch. Actual usage can be twice this since // we have a new batch growing as we write the old. - // The main goal is to avoid delays while persisting the ledger. // - batchWriteLimitSize = 262144 + batchWriteLimitSize = 65536 }; /** Return codes from Backend operations. */ diff --git a/src/ripple/nodestore/backend/NuDBFactory.cpp b/src/ripple/nodestore/backend/NuDBFactory.cpp index 74afe2ed7f1..30b848e82af 100644 --- a/src/ripple/nodestore/backend/NuDBFactory.cpp +++ b/src/ripple/nodestore/backend/NuDBFactory.cpp @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -36,7 +35,7 @@ namespace ripple { namespace NodeStore { -class NuDBBackend : public Backend, public BatchWriter::Callback +class NuDBBackend : public Backend { public: static constexpr std::uint64_t currentType = 1; @@ -47,7 +46,6 @@ class NuDBBackend : public Backend, public BatchWriter::Callback beast::Journal const j_; size_t const keyBytes_; - BatchWriter batch_; std::size_t const burstSize_; std::string const name_; nudb::store db_; @@ -62,7 +60,6 @@ class NuDBBackend : public Backend, public BatchWriter::Callback beast::Journal journal) : j_(journal) , keyBytes_(keyBytes) - , batch_(*this, scheduler) , burstSize_(burstSize) , name_(get(keyValues, "path")) , deletePath_(false) @@ -82,7 +79,6 @@ class NuDBBackend : public Backend, public BatchWriter::Callback beast::Journal journal) : j_(journal) , keyBytes_(keyBytes) - , batch_(*this, scheduler) , burstSize_(burstSize) , name_(get(keyValues, "path")) , db_(context) @@ -266,7 +262,13 @@ class NuDBBackend : public Backend, public BatchWriter::Callback void store(std::shared_ptr const& no) override { - batch_.store(no); + BatchWriteReport report; + report.writeCount = 1; + auto const start = std::chrono::steady_clock::now(); + do_insert(no); + report.elapsed = std::chrono::duration_cast( + std::chrono::steady_clock::now() - start); + scheduler_.onBatchWrite(report); } void @@ -327,7 +329,7 @@ class NuDBBackend : public Backend, public BatchWriter::Callback int getWriteLoad() override { - return batch_.getWriteLoad(); + return 0; } void @@ -355,12 +357,6 @@ class NuDBBackend : public Backend, public BatchWriter::Callback Throw(ec); } - void - writeBatch(Batch const& batch) override - { - storeBatch(batch); - } - int fdRequired() const override {