diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-03-23 16:55:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-23 16:55:38 +0100 |
commit | 23dcf1db150a66ec66cf746d4234982fdbb0e6e2 (patch) | |
tree | 9b361337de79ccd6d9d179de1533de6887bc68d5 | |
parent | e247747338fd6beb7c15f28c4b0acc39ed6b5d59 (diff) | |
parent | be4cff0f6ef66332e916ad222637b886201e1689 (diff) |
Merge pull request #12668 from vespa-engine/balder/use-already-tracked-size-instead-of-doing-expensive-systemcall
Avoid expensive systemcall. We already track the writeposition in byt…
-rw-r--r-- | searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp index 8a6e833bd1f..91599f8218a 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp @@ -315,6 +315,8 @@ DomainPart::DomainPart(const string & name, const string & baseDir, SerialNum s, handleSync(*_transLog); _writtenSerial = _range.to(); _syncedSerial = _writtenSerial; + assert(int64_t(byteSize()) == _transLog->GetSize()); + assert(int64_t(byteSize()) == _transLog->GetPosition()); } DomainPart::~DomainPart() @@ -402,7 +404,7 @@ DomainPart::erase(SerialNum to) void DomainPart::commit(SerialNum firstSerial, const Packet &packet) { - int64_t firstPos(_transLog->GetPosition()); + int64_t firstPos(byteSize()); nbostream_longlivedbuf h(packet.getHandle().data(), packet.getHandle().size()); if (_range.from() == 0) { _range.from(firstSerial); @@ -576,7 +578,7 @@ DomainPart::visit(FastOS_FileInterface &file, SerialNumRange &r, Packet &packet) void DomainPart::write(FastOS_FileInterface &file, const Packet::Entry &entry) { - int64_t lastKnownGoodPos(file.GetPosition()); + int64_t lastKnownGoodPos(byteSize()); int32_t crc(0); uint32_t len(entry.serializedSize() + sizeof(crc)); nbostream os; |