diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-18 18:15:45 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-18 18:22:16 +0000 |
commit | a330fa13973762f0b05e73c0ef3969fce28734fd (patch) | |
tree | 388443c8631a10816981c4181b260d9b8e0f87e1 /storage | |
parent | 78bfefbf3fd11a655560c7237bf4106aca2458b2 (diff) |
Reduce exposure of TraceNode even further.
Diffstat (limited to 'storage')
8 files changed, 11 insertions, 21 deletions
diff --git a/storage/src/tests/visiting/memory_bounded_trace_test.cpp b/storage/src/tests/visiting/memory_bounded_trace_test.cpp index d0ea1172e11..e43fa702fb5 100644 --- a/storage/src/tests/visiting/memory_bounded_trace_test.cpp +++ b/storage/src/tests/visiting/memory_bounded_trace_test.cpp @@ -55,7 +55,7 @@ TEST(MemoryBoundedTraceTest, moved_trace_tree_is_marked_as_strict) { mbus::Trace target; trace.moveTraceTo(target); EXPECT_EQ(1, target.getNumChildren()); - EXPECT_TRUE(target.getRoot().getChild(0).isStrict()); + EXPECT_TRUE(target.getChild(0).isStrict()); } TEST(MemoryBoundedTraceTest, can_not_add_more_nodes_when_memory_used_exceeds_upper_bound) { diff --git a/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp b/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp index 8f47798848a..3adc8d731ee 100644 --- a/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp +++ b/storage/src/vespa/storage/distributor/operations/external/getoperation.cpp @@ -144,9 +144,7 @@ GetOperation::onReceive(DistributorMessageSender& sender, const std::shared_ptr< LOG(debug, "Received %s", msg->toString(true).c_str()); - if ( ! getreply->getTrace().isEmpty()) { - _msg->getTrace().addChild(std::move(getreply->getTrace())); - } + _msg->getTrace().addChild(std::move(getreply->getTrace())); bool allDone = true; for (auto& response : _responses) { for (uint32_t i = 0; i < response.second.size(); i++) { diff --git a/storage/src/vespa/storage/distributor/operations/external/visitoroperation.h b/storage/src/vespa/storage/distributor/operations/external/visitoroperation.h index 42b0bd56b9e..24c7157b481 100644 --- a/storage/src/vespa/storage/distributor/operations/external/visitoroperation.h +++ b/storage/src/vespa/storage/distributor/operations/external/visitoroperation.h @@ -38,7 +38,7 @@ public: const Config& config, VisitorMetricSet& metrics); - ~VisitorOperation(); + ~VisitorOperation() override; void onClose(DistributorMessageSender& sender) override; void onStart(DistributorMessageSender& sender) override; diff --git a/storage/src/vespa/storage/persistence/persistenceutil.cpp b/storage/src/vespa/storage/persistence/persistenceutil.cpp index 96a24134e5f..d41ec4e88d6 100644 --- a/storage/src/vespa/storage/persistence/persistenceutil.cpp +++ b/storage/src/vespa/storage/persistence/persistenceutil.cpp @@ -93,9 +93,7 @@ MessageTracker::sendReply() { _msg->toString(true).c_str(), vespalib::to_s(duration)); } if (hasReply()) { - if ( ! _context.getTrace().isEmpty()) { - getReply().getTrace().addChild(std::move(_context.getTrace())); - } + getReply().getTrace().addChild(std::move(_context.getTrace())); if (_updateBucketInfo) { if (getReply().getResult().success()) { _env.setBucketInfo(*this, _bucketLock->getBucket()); @@ -107,9 +105,7 @@ MessageTracker::sendReply() { LOG(spam, "Sending reply up: %s %" PRIu64, getReply().toString().c_str(), getReply().getMsgId()); _replySender.sendReplyDirectly(std::move(_reply)); } else { - if ( ! _context.getTrace().isEmpty()) { - _msg->getTrace().addChild(std::move(_context.getTrace())); - } + _msg->getTrace().addChild(std::move(_context.getTrace())); } } diff --git a/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.cpp b/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.cpp index eaba3d54c27..c465315a5a6 100644 --- a/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.cpp +++ b/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.cpp @@ -208,7 +208,7 @@ void StorageApiRpcService::encode_rpc_v1_response(FRT_RPCRequest& request, api:: // TODO skip encoding header altogether if no relevant fields set? protobuf::ResponseHeader hdr; if (reply.getTrace().getLevel() > 0) { - hdr.set_trace_payload(reply.getTrace().getRoot().encode()); + hdr.set_trace_payload(reply.getTrace().encode()); } // TODO consistent naming... encode_header_into_rpc_params(hdr, *ret); diff --git a/storage/src/vespa/storage/visiting/memory_bounded_trace.cpp b/storage/src/vespa/storage/visiting/memory_bounded_trace.cpp index bfa4c2aa07d..d93a461f217 100644 --- a/storage/src/vespa/storage/visiting/memory_bounded_trace.cpp +++ b/storage/src/vespa/storage/visiting/memory_bounded_trace.cpp @@ -33,8 +33,10 @@ computeTraceTreeMemoryUsage(const mbus::TraceNode& node) } // anon ns bool -MemoryBoundedTrace::add(const mbus::TraceNode& node) +MemoryBoundedTrace::add(const mbus::Trace& trace) { + if (trace.isEmpty()) return false; + const vespalib::TraceNode & node = trace.getRoot(); const size_t nodeFootprint = computeTraceTreeMemoryUsage(node); if (_currentMemoryUsed >= _softMemoryUpperBound) { diff --git a/storage/src/vespa/storage/visiting/memory_bounded_trace.h b/storage/src/vespa/storage/visiting/memory_bounded_trace.h index a7f8a00d6a9..f376b41a4f5 100644 --- a/storage/src/vespa/storage/visiting/memory_bounded_trace.h +++ b/storage/src/vespa/storage/visiting/memory_bounded_trace.h @@ -22,13 +22,7 @@ public: * Returns true if `node` was added to internal trace state, false * otherwise. */ - bool add(const mbus::TraceNode& node); - bool add(const mbus::Trace& trace) { - if (!trace.isEmpty()) { - return add(trace.getRoot()); - } - return false; - } + bool add(const mbus::Trace& node); /** * Append current trace tree to the output trace node and clear internal diff --git a/storage/src/vespa/storage/visiting/visitor.cpp b/storage/src/vespa/storage/visiting/visitor.cpp index 26efaf323e0..c7825cd2e6f 100644 --- a/storage/src/vespa/storage/visiting/visitor.cpp +++ b/storage/src/vespa/storage/visiting/visitor.cpp @@ -601,7 +601,7 @@ bool Visitor::addBoundedTrace(uint32_t level, const vespalib::string &message) { mbus::Trace tempTrace; tempTrace.trace(level, message); - return _trace.add(tempTrace.getRoot()); + return _trace.add(tempTrace); } void |