summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-09-21 19:07:55 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-09-21 19:44:41 +0000
commit6eab511ac74f9c60427d3510a55003e4c7d380ac (patch)
treef6fa98bf4bb10e729f1bc4cc1c69c53ea0ea6358 /searchlib
parent31b179d62e3dec85d9af5058857ed16fa81a4002 (diff)
Add startCommit method
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/transactionlog/translogclient_test.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/common.h3
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domain.h3
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp3
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");