diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-11-19 14:06:57 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-11-20 10:16:58 +0000 |
commit | 86a245e6d0751dec7e38d64c4ea21ea7f4308239 (patch) | |
tree | 108cb5b7a96f96a0db35e95b13bf08e7dadad4d4 /storage | |
parent | 496e5cf57060fb068a9dc73ac7ff44333a60774e (diff) |
Use timeouts typed with unit.
Diffstat (limited to 'storage')
4 files changed, 16 insertions, 16 deletions
diff --git a/storage/src/tests/storageserver/documentapiconvertertest.cpp b/storage/src/tests/storageserver/documentapiconvertertest.cpp index f006277a7b6..6ef39ecf858 100644 --- a/storage/src/tests/storageserver/documentapiconvertertest.cpp +++ b/storage/src/tests/storageserver/documentapiconvertertest.cpp @@ -28,6 +28,7 @@ using document::DocumentTypeRepo; using document::readDocumenttypesConfig; using document::test::makeDocumentBucket; using namespace ::testing; +using namespace std::chrono_literals; namespace storage { @@ -186,7 +187,7 @@ TEST_F(DocumentApiConverterTest, get) { TEST_F(DocumentApiConverterTest, create_visitor) { documentapi::CreateVisitorMessage cv("mylib", "myinstance", "control-dest", "data-dest"); cv.setBucketSpace(defaultSpaceName); - cv.setTimeRemaining(123456); + cv.setTimeRemaining(123456ms); auto cmd = toStorageAPI<api::CreateVisitorCommand>(cv); EXPECT_EQ(defaultBucketSpace, cmd->getBucket().getBucketSpace()); @@ -202,7 +203,7 @@ TEST_F(DocumentApiConverterTest, create_visitor) { TEST_F(DocumentApiConverterTest, create_visitor_high_timeout) { documentapi::CreateVisitorMessage cv("mylib", "myinstance", "control-dest", "data-dest"); - cv.setTimeRemaining((uint64_t)std::numeric_limits<uint32_t>::max() + 1); // Will be INT_MAX + cv.setTimeRemaining(std::chrono::milliseconds(std::numeric_limits<uint32_t>::max() + 1)); // Will be INT_MAX auto cmd = toStorageAPI<api::CreateVisitorCommand>(cv); EXPECT_EQ("mylib", cmd->getLibraryName()); diff --git a/storage/src/vespa/storage/storageserver/communicationmanager.cpp b/storage/src/vespa/storage/storageserver/communicationmanager.cpp index 978d434847e..499d7ce15ac 100644 --- a/storage/src/vespa/storage/storageserver/communicationmanager.cpp +++ b/storage/src/vespa/storage/storageserver/communicationmanager.cpp @@ -148,7 +148,7 @@ CommunicationManager::handleMessage(std::unique_ptr<mbus::Message> msg) //TODO: Can it be moved ? std::shared_ptr<api::StorageCommand> cmd = storMsgPtr->getCommand(); - cmd->setTimeout(storMsgPtr->getTimeRemaining()); + cmd->setTimeout(storMsgPtr->getTimeRemaining().count()); cmd->setTrace(storMsgPtr->getTrace()); cmd->setTransportContext(std::make_unique<StorageTransportContext>(std::move(storMsgPtr))); @@ -567,7 +567,7 @@ CommunicationManager::sendCommand( cmd->setContext(mbus::Context(msg->getMsgId())); cmd->setRetryEnabled(address.retryEnabled()); - cmd->setTimeRemaining(msg->getTimeout()); + cmd->setTimeRemaining(std::chrono::milliseconds(msg->getTimeout())); cmd->setTrace(msg->getTrace()); sendMessageBusMessage(msg, std::move(cmd), address.getRoute()); break; diff --git a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp index 54b1a9ae257..7318d690004 100644 --- a/storage/src/vespa/storage/storageserver/documentapiconverter.cpp +++ b/storage/src/vespa/storage/storageserver/documentapiconverter.cpp @@ -20,6 +20,8 @@ LOG_SETUP(".documentapiconverter"); using document::BucketSpace; +using std::chrono::milliseconds; + namespace storage { DocumentApiConverter::DocumentApiConverter(const config::ConfigUri &configUri, @@ -28,7 +30,7 @@ DocumentApiConverter::DocumentApiConverter(const config::ConfigUri &configUri, _bucketResolver(std::move(bucketResolver)) {} -DocumentApiConverter::~DocumentApiConverter() {} +DocumentApiConverter::~DocumentApiConverter() = default; std::unique_ptr<api::StorageCommand> DocumentApiConverter::toStorageAPI(documentapi::DocumentMessage& fromMsg) @@ -139,11 +141,8 @@ DocumentApiConverter::toStorageAPI(documentapi::DocumentMessage& fromMsg) } if (toMsg.get() != 0) { - int64_t timeout = fromMsg.getTimeRemaining(); - if (timeout > INT_MAX) { - timeout = INT_MAX; - } - toMsg->setTimeout(timeout); + milliseconds timeout = std::max(milliseconds(INT_MAX), fromMsg.getTimeRemaining()); + toMsg->setTimeout(timeout.count()); toMsg->setPriority(_priConverter->toStoragePriority(fromMsg.getPriority())); toMsg->setLoadType(fromMsg.getLoadType()); @@ -310,7 +309,7 @@ DocumentApiConverter::toDocumentAPI(api::StorageCommand& fromMsg) } if (toMsg.get()) { - toMsg->setTimeRemaining(fromMsg.getTimeout()); + toMsg->setTimeRemaining(milliseconds(fromMsg.getTimeout())); toMsg->setContext(mbus::Context(fromMsg.getMsgId())); if (LOG_WOULD_LOG(spam)) { toMsg->getTrace().setLevel(9); diff --git a/storage/src/vespa/storage/visiting/visitor.cpp b/storage/src/vespa/storage/visiting/visitor.cpp index 3bed02f88fe..4b213dff1d5 100644 --- a/storage/src/vespa/storage/visiting/visitor.cpp +++ b/storage/src/vespa/storage/visiting/visitor.cpp @@ -237,11 +237,11 @@ Visitor::sendMessage(documentapi::DocumentMessage::UP cmd) framework::MicroSecTime time(_component.getClock().getTimeInMicros()); if (time + _docBlockTimeout.getMicros() > _timeToDie) { - cmd->setTimeRemaining((_timeToDie > time) + cmd->setTimeRemaining(std::chrono::milliseconds((_timeToDie > time) ? (_timeToDie - time).getMillis().getTime() - : 0); + : 0)); } else { - cmd->setTimeRemaining(_docBlockTimeout.getTime()); + cmd->setTimeRemaining(std::chrono::milliseconds(_docBlockTimeout.getTime())); } cmd->getTrace().setLevel(_traceLevel); @@ -301,7 +301,7 @@ Visitor::sendInfoMessage(documentapi::VisitorInfoMessage::UP cmd) if (_controlDestination->toString().length()) { cmd->setRoute(_controlDestination->getRoute()); cmd->setPriority(_documentPriority); - cmd->setTimeRemaining(_visitorInfoTimeout.getTime()); + cmd->setTimeRemaining(std::chrono::milliseconds(_visitorInfoTimeout.getTime())); auto& msgMeta = _visitorTarget.insertMessage(std::move(cmd)); sendDocumentApiMessage(msgMeta); } @@ -637,7 +637,7 @@ Visitor::handleDocumentApiReply(mbus::Reply::UP reply, if (!reply->hasErrors()) { metrics.averageMessageSendTime[getLoadType()].addValue( - (message->getTimeRemaining() - message->getTimeRemainingNow()) / 1000.0); + (message->getTimeRemaining() - message->getTimeRemainingNow()).count() / 1000.0); LOG(debug, "Visitor '%s' reply %s for message ID %" PRIu64 " was OK", _id.c_str(), reply->toString().c_str(), messageId); |