summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-11-19 14:06:57 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-11-20 10:16:58 +0000
commit86a245e6d0751dec7e38d64c4ea21ea7f4308239 (patch)
tree108cb5b7a96f96a0db35e95b13bf08e7dadad4d4 /storage
parent496e5cf57060fb068a9dc73ac7ff44333a60774e (diff)
Use timeouts typed with unit.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/storageserver/documentapiconvertertest.cpp5
-rw-r--r--storage/src/vespa/storage/storageserver/communicationmanager.cpp4
-rw-r--r--storage/src/vespa/storage/storageserver/documentapiconverter.cpp13
-rw-r--r--storage/src/vespa/storage/visiting/visitor.cpp10
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);