diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-06-17 21:14:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-17 21:14:41 +0200 |
commit | b639e3239364e2f585052935af5764be0f145ef4 (patch) | |
tree | 1d4fcd169e14d7040a1c4a4224771ff6d784791e /searchlib | |
parent | 28dd5c3e604fb6249f552f27ce844523b2fdba54 (diff) | |
parent | 62a60b5c54bcd470c91beb495efd21a24c0e82da (diff) |
Merge pull request #64 from yahoo/geirst/tls-fixes-and-metrics
Geirst/tls fixes and metrics
Diffstat (limited to 'searchlib')
5 files changed, 20 insertions, 29 deletions
diff --git a/searchlib/src/tests/transactionlog/translogclient_test.cpp b/searchlib/src/tests/transactionlog/translogclient_test.cpp index 775654d23fc..2e756e9d4b8 100644 --- a/searchlib/src/tests/transactionlog/translogclient_test.cpp +++ b/searchlib/src/tests/transactionlog/translogclient_test.cpp @@ -715,7 +715,7 @@ void Test::testErase() "count %zu, numBytes %zu", partId, (uint64_t) part.range.from(), (uint64_t) part.range.to(), - part.count, part.byteSize); + part.numEntries, part.byteSize); } ASSERT_LESS_EQUAL(2u, numParts); // Erase everything before second to last domainpart file @@ -726,8 +726,8 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 2].count + - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 2].numEntries + + domainInfo.parts[numParts - 1].numEntries)); // No apparent effect of erasing just first entry in 2nd to last part s1->erase(eraseSerial + 1); TEST_DO(assertVisitStats(tls, "erase", 2, TOTAL_NUM_ENTRIES, @@ -735,8 +735,8 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial + 1, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 2].count + - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 2].numEntries + + domainInfo.parts[numParts - 1].numEntries)); // No apparent effect of erasing almost all of 2nd to last part SerialNum eraseSerial2 = domainInfo.parts[numParts - 2].range.to(); s1->erase(eraseSerial2); @@ -745,8 +745,8 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial2, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 2].count + - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 2].numEntries + + domainInfo.parts[numParts - 1].numEntries)); // Erase everything before last domainpart file eraseSerial = domainInfo.parts[numParts - 1].range.from(); s1->erase(eraseSerial); @@ -755,7 +755,7 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 1].numEntries)); // No apparent effect of erasing just first entry in last part s1->erase(eraseSerial + 1); TEST_DO(assertVisitStats(tls, "erase", 2, TOTAL_NUM_ENTRIES, @@ -763,7 +763,7 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial + 1, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 1].numEntries)); // No apparent effect of erasing almost all of last part eraseSerial2 = domainInfo.parts[numParts - 1].range.to(); s1->erase(eraseSerial2); @@ -772,7 +772,7 @@ void Test::testErase() TOTAL_NUM_ENTRIES + 1 - eraseSerial, TOTAL_NUM_ENTRIES - eraseSerial)); TEST_DO(assertStatus(*s1, eraseSerial2, TOTAL_NUM_ENTRIES, - domainInfo.parts[numParts - 1].count)); + domainInfo.parts[numParts - 1].numEntries)); } } diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp index be1de99efef..9faa80a76b9 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.cpp @@ -38,7 +38,6 @@ Domain::Domain(const string &domainName, const FileHeaderContext &fileHeaderContext) : _defaultCrcType(defaultCrcType), _executor(executor), - _count(0), _sessionId(1), _useFsync(useFsync), _syncMonitor(), @@ -83,7 +82,6 @@ void Domain::addPart(int64_t partId, bool isLastPart) { } else { { LockGuard guard(_lock); - _count += dp->size(); _parts[partId] = dp; } if (! isLastPart) { @@ -119,7 +117,7 @@ DomainInfo Domain::getDomainInfo() const { LockGuard guard(_lock); - DomainInfo info(SerialNumRange(begin(), end()), count(), byteSize()); + DomainInfo info(SerialNumRange(begin(), end()), size(guard), byteSize()); for (const auto &entry: _parts) { const DomainPart &part = *entry.second; info.parts.emplace_back(PartInfo(part.range(), part.size(), @@ -272,12 +270,8 @@ void Domain::commit(const Packet & packet) } dp = _parts.rbegin()->second; } - size_t oldSz(dp->size()); dp->commit(entry.serial(), packet); cleanSessions(); - // If commit fails no updates should be sent to subscribers either. - // Is is better to keep a consistent behaviour. - _count += dp->size() - oldSz; LockGuard guard(_sessionLock); for (auto & it : _sessions) { diff --git a/searchlib/src/vespa/searchlib/transactionlog/domain.h b/searchlib/src/vespa/searchlib/transactionlog/domain.h index 6309d7113f1..d6dbde6b06e 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/domain.h +++ b/searchlib/src/vespa/searchlib/transactionlog/domain.h @@ -10,25 +10,25 @@ namespace transactionlog { struct PartInfo { SerialNumRange range; - size_t count; + size_t numEntries; size_t byteSize; vespalib::string file; - PartInfo(SerialNumRange range_in, size_t count_in, + PartInfo(SerialNumRange range_in, size_t numEntries_in, size_t byteSize_in, vespalib::stringref file_in) - : range(range_in), count(count_in), byteSize(byteSize_in), + : range(range_in), numEntries(numEntries_in), byteSize(byteSize_in), file(file_in) {} }; struct DomainInfo { SerialNumRange range; - size_t count; + size_t numEntries; size_t byteSize; std::vector<PartInfo> parts; - DomainInfo(SerialNumRange range_in, size_t count_in, size_t byteSize_in) - : range(range_in), count(count_in), byteSize(byteSize_in), parts() {} + DomainInfo(SerialNumRange range_in, size_t numEntries_in, size_t byteSize_in) + : range(range_in), numEntries(numEntries_in), byteSize(byteSize_in), parts() {} DomainInfo() - : range(), count(0), byteSize(0), parts() {} + : range(), numEntries(0), byteSize(0), parts() {} }; typedef std::map<vespalib::string, DomainInfo> DomainStats; @@ -69,7 +69,6 @@ public: bool getMarkedDeleted(void) const { return _markedDeleted; } void markDeleted(void) { _markedDeleted = true; } - uint64_t count() const { return _count; } size_t byteSize() const; size_t getNumSessions() const { return _sessions.size(); } @@ -103,7 +102,6 @@ private: DomainPart::Crc _defaultCrcType; Executor & _executor; - uint64_t _count; int _sessionId; const bool _useFsync; vespalib::Monitor _syncMonitor; diff --git a/searchlib/src/vespa/searchlib/transactionlog/trans_log_server_explorer.cpp b/searchlib/src/vespa/searchlib/transactionlog/trans_log_server_explorer.cpp index 49c16940be5..fdc771a7b58 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/trans_log_server_explorer.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/trans_log_server_explorer.cpp @@ -21,7 +21,7 @@ struct DomainExplorer : vespalib::StateExplorer { DomainInfo info = domain->getDomainInfo(); state.setLong("from", info.range.from()); state.setLong("to", info.range.to()); - state.setLong("count", info.count); + state.setLong("numEntries", info.numEntries); state.setLong("byteSize", info.byteSize); if (full) { Cursor &array = state.setArray("parts"); @@ -29,7 +29,7 @@ struct DomainExplorer : vespalib::StateExplorer { Cursor &part = array.addObject(); part.setLong("from", part_in.range.from()); part.setLong("to", part_in.range.to()); - part.setLong("count", part_in.count); + part.setLong("numEntries", part_in.numEntries); part.setLong("byteSize", part_in.byteSize); part.setString("file", part_in.file); { diff --git a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp index 79b7413c1b4..b9a9ea57a9e 100644 --- a/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp +++ b/searchlib/src/vespa/searchlib/transactionlog/translogserver.cpp @@ -219,7 +219,6 @@ void TransLogServer::logMetric() const EV_COUNT((prefix + "last").c_str(), it->second->end()); EV_COUNT((prefix + "first").c_str(), it->second->begin()); EV_VALUE((prefix + "numused").c_str(), it->second->size()); - EV_COUNT((prefix + "count").c_str(), it->second->count()); } } |