summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-03-25 00:36:34 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-03-25 00:36:34 +0000
commit8e75db35580a17a1b202f104e2f25a722f20d8a3 (patch)
tree9c1f16672a858b5b31486747d2fda83781d2ada7 /storage
parentecf3845bbcd225463be9314ad2b9fd3f1feb9b37 (diff)
Do not copy empty trace.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/persistence/persistencethread.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/storage/src/vespa/storage/persistence/persistencethread.cpp b/storage/src/vespa/storage/persistence/persistencethread.cpp
index dd44c96555b..4bcd92293d3 100644
--- a/storage/src/vespa/storage/persistence/persistencethread.cpp
+++ b/storage/src/vespa/storage/persistence/persistencethread.cpp
@@ -36,8 +36,8 @@ PersistenceThread::PersistenceThread(ServiceLayerComponentRegister& compReg,
{
std::ostringstream threadName;
threadName << "Disk " << _env._partition << " thread " << _stripeId;
- _component.reset(new ServiceLayerComponent(compReg, threadName.str()));
- _bucketOwnershipNotifier.reset(new BucketOwnershipNotifier(*_component, filestorHandler));
+ _component = std::make_unique<ServiceLayerComponent>(compReg, threadName.str());
+ _bucketOwnershipNotifier = std::make_unique<BucketOwnershipNotifier>(*_component, filestorHandler);
framework::MilliSecTime maxProcessingTime(60 * 1000);
framework::MilliSecTime waitTime(1000);
_thread = _component->startThread(*this, maxProcessingTime, waitTime);
@@ -473,11 +473,10 @@ PersistenceThread::handleSplitBucket(api::SplitBucketCommand& cmd)
const document::Bucket &target(i == 0 ? target1 : target2);
uint16_t disk(i == 0 ? lock1.disk : lock2.disk);
assert(target.getBucketId().getRawId() != 0);
- targets.push_back(TargetInfo(
- _env.getBucketDatabase(target.getBucketSpace()).get(
+ targets.emplace_back(_env.getBucketDatabase(target.getBucketSpace()).get(
target.getBucketId(), "PersistenceThread::handleSplitBucket - Target",
StorBucketDatabase::CREATE_IF_NONEXISTING),
- FileStorHandler::RemapInfo(target, disk)));
+ FileStorHandler::RemapInfo(target, disk));
targets.back().first->setBucketInfo(_env.getBucketInfo(target, disk));
targets.back().first->disk = disk;
}
@@ -795,7 +794,7 @@ PersistenceThread::handleCommand(api::StorageCommand& msg)
{
_context = spi::Context(msg.getLoadType(), msg.getPriority(), msg.getTrace().getLevel());
MessageTracker::UP mtracker(handleCommandSplitByType(msg));
- if (mtracker) {
+ if (mtracker && ! _context.getTrace().getRoot().isEmpty()) {
if (mtracker->getReply()) {
mtracker->getReply()->getTrace().getRoot().addChild(_context.getTrace().getRoot());
} else {
@@ -844,11 +843,11 @@ PersistenceThread::processMessage(api::StorageMessage& msg)
LOG(debug, "Handling command: %s", msg.toString().c_str());
LOG(spam, "Message content: %s", msg.toString(true).c_str());
auto tracker(handleCommand(initiatingCommand));
- if (!tracker.get()) {
+ if (!tracker) {
LOG(debug, "Received unsupported command %s", msg.getType().getName().c_str());
} else {
tracker->generateReply(initiatingCommand);
- if ((tracker->getReply().get()
+ if ((tracker->getReply()
&& tracker->getReply()->getResult().failed())
|| tracker->getResult().failed())
{