summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-01-31 22:34:52 +0100
committerHenning Baldersheim <balder@oath.com>2018-01-31 22:34:52 +0100
commit9e6dca9949dac4a105c88da8d5c44923d1024d6e (patch)
treec854664a7f52d7de1540afb6a96c93c94056c016 /searchcore
parent42369f54c76dc83e4b7dc053cc4f34f33d9a8d93 (diff)
Report back as field 'error' the timeout as amount of us on overtime.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.cpp b/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.cpp
index 31f034ebc77..4fbfa466732 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.cpp
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/docsumcontext.cpp
@@ -6,6 +6,7 @@
#include <vespa/searchlib/common/location.h>
#include <vespa/searchlib/common/transport.h>
#include <vespa/vespalib/data/slime/slime.h>
+#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/log/log.h>
LOG_SETUP(".proton.docsummary.docsumcontext");
@@ -34,6 +35,10 @@ namespace {
Memory DOCSUMS("docsums");
Memory DOCSUM("docsum");
+void addTimedOut(Inserter & inserter, fastos::TimeStamp left) {
+ inserter.insertObject().setString("error", vespalib::make_string("Timeout at %ldus", left.us()));
+}
+
}
void
@@ -71,7 +76,7 @@ DocsumContext::createReply()
Slime slime(Slime::Params(std::move(symbols)));
vespalib::slime::SlimeInserter inserter(slime);
if (_request.expired()) {
- inserter.insertString(Memory("timed out"));
+ addTimedOut(inserter, _request.getTimeLeft());
} else {
_docsumWriter.insertDocsum(rci, docId, &_docsumState, &_docsumStore, slime, inserter);
}
@@ -112,7 +117,7 @@ DocsumContext::createSlimeReply()
ObjectSymbolInserter inserter(docSumC, docsumSym);
if ((docId != search::endDocId) && !rci.mustSkip) {
if (_request.expired()) {
- inserter.insertString(Memory("timed out"));
+ addTimedOut(inserter, _request.getTimeLeft());
} else {
_docsumWriter.insertDocsum(rci, docId, &_docsumState, &_docsumStore, *response, inserter);
}