summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-03-23 13:51:10 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-03-23 13:51:10 +0000
commitbe4cff0f6ef66332e916ad222637b886201e1689 (patch)
tree4bed9a273c474db4f867b6722b2408ef6a597a4f /searchlib
parent4f29479b720958cba7e40e1142b379962f55c2e8 (diff)
Avoid expensive systemcall. We already track the writeposition in byteSize.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/transactionlog/domainpart.cpp6
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;