Skip to content

Commit

Permalink
Revert "Asynchronously write batches to NuDB. (XRPLF#4503)" (XRPLF#4882)
Browse files Browse the repository at this point in the history
This reverts commit 1d9db1b.

This improves the stability of online deletion.
  • Loading branch information
mtrippled authored and sophiax851 committed Jun 12, 2024
1 parent fdebbdf commit 6384dbf
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 15 deletions.
3 changes: 1 addition & 2 deletions src/ripple/nodestore/Types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
22 changes: 9 additions & 13 deletions src/ripple/nodestore/backend/NuDBFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <ripple/basics/contract.h>
#include <ripple/nodestore/Factory.h>
#include <ripple/nodestore/Manager.h>
#include <ripple/nodestore/impl/BatchWriter.h>
#include <ripple/nodestore/impl/DecodedBlob.h>
#include <ripple/nodestore/impl/EncodedBlob.h>
#include <ripple/nodestore/impl/codec.h>
Expand All @@ -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;
Expand All @@ -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_;
Expand All @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -266,7 +262,13 @@ class NuDBBackend : public Backend, public BatchWriter::Callback
void
store(std::shared_ptr<NodeObject> 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::milliseconds>(
std::chrono::steady_clock::now() - start);
scheduler_.onBatchWrite(report);
}

void
Expand Down Expand Up @@ -327,7 +329,7 @@ class NuDBBackend : public Backend, public BatchWriter::Callback
int
getWriteLoad() override
{
return batch_.getWriteLoad();
return 0;
}

void
Expand Down Expand Up @@ -355,12 +357,6 @@ class NuDBBackend : public Backend, public BatchWriter::Callback
Throw<nudb::system_error>(ec);
}

void
writeBatch(Batch const& batch) override
{
storeBatch(batch);
}

int
fdRequired() const override
{
Expand Down

0 comments on commit 6384dbf

Please sign in to comment.