diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-09-21 19:07:55 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-09-21 19:44:41 +0000 |
commit | 6eab511ac74f9c60427d3510a55003e4c7d380ac (patch) | |
tree | f6fa98bf4bb10e729f1bc4cc1c69c53ea0ea6358 /searchlib | |
parent | 31b179d62e3dec85d9af5058857ed16fa81a4002 (diff) |
Add startCommit method
Diffstat (limited to 'searchlib')
5 files changed, 16 insertions, 6 deletions
diff --git a/searchlib/src/tests/transactionlog/translogclient_test.cpp b/searchlib/src/tests/transactionlog/translogclient_test.cpp index 9e5021b4778..478bc594368 100644 --- a/searchlib/src/tests/transactionlog/translogclient_test.cpp +++ b/searchlib/src/tests/transactionlog/translogclient_test.cpp @@ -329,11 +329,12 @@ fillDomainTest(TransLogServer & s1, const vespalib::string & domain, size_t numP Packet::Entry e(value+1, j+1, vespalib::ConstBufferRef((const char *)&value, sizeof(value))); p->add(e); if ( p->sizeBytes() > DEFAULT_PACKET_SIZE ) { - domainWriter->commit(*p, std::make_shared<CountDone>(inFlight)); + domainWriter->append(*p, std::make_shared<CountDone>(inFlight)); p = std::make_unique<Packet>(DEFAULT_PACKET_SIZE); } } - domainWriter->commit(*p, std::make_shared<CountDone>(inFlight)); + domainWriter->append(*p, std::make_shared<CountDone>(inFlight)); + domainWriter->startCommit(Writer::DoneCallback()); LOG(info, "Inflight %ld", inFlight.load()); } while (inFlight.load() != 0) { diff --git a/searchlib/src/vespa/searchlib/transactionlog/common.h b/searchlib/src/vespa/searchlib/transactionlog/common.h index c8f7a81ac7d..43b20b57045 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/common.h +++ b/searchlib/src/vespa/searchlib/transactionlog/common.h @@ -100,7 +100,8 @@ public: CommitPayload _callBacks; }; virtual ~Writer() = default; - virtual void commit(const Packet & packet, DoneCallback done) = 0; + virtual void append(const Packet & packet, DoneCallback done) = 0; + virtual CommitResult startCommit(DoneCallback onDone) = 0; }; class WriterFactory { diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp index 415ccafda70..7a7be3ab86b 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp @@ -310,8 +310,14 @@ Domain::optionallyRotateFile(SerialNum serialNum) { return dp; } +Domain::CommitResult +Domain::startCommit(DoneCallback onDone) { + (void) onDone; + return CommitResult(); +} + void -Domain::commit(const Packet & packet, Writer::DoneCallback onDone) +Domain::append(const Packet & packet, Writer::DoneCallback onDone) { (void) onDone; vespalib::nbostream_longlivedbuf is(packet.getHandle().data(), packet.getHandle().size()); diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.h b/searchlib/src/vespa/searchlib/transactionlog/domain.h index 9adff564cc8..86e3681f0a1 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.h +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.h @@ -27,7 +27,8 @@ public: const vespalib::string & name() const { return _name; } bool erase(SerialNum to); - void commit(const Packet & packet, Writer::DoneCallback onDone) override; + void append(const Packet & packet, Writer::DoneCallback onDone) override; + CommitResult startCommit(DoneCallback onDone) override; int visit(const Domain::SP & self, SerialNum from, SerialNum to, std::unique_ptr<Destination> dest); SerialNum begin() const; diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp index 269ed7e9380..9b7d328d9cb 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp @@ -572,7 +572,8 @@ TransLogServer::domainCommit(FRT_RPCRequest *req) Packet packet(params[1]._data._buf, params[1]._data._len); try { vespalib::Gate gate; - domain->commit(packet, make_shared<GateCallback>(gate)); + domain->append(packet, make_shared<GateCallback>(gate)); + domain->startCommit(make_shared<IgnoreCallback>()); gate.await(); ret.AddInt32(0); ret.AddString("ok"); |