summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-02-08 11:51:07 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-02-08 11:51:07 +0000
commitad0bc187fa61734b55a176eb1d378cb37520793d (patch)
treee168aa57c5b69d41e240f5cf82f8b23b85870089 /searchcore
parent46d78e85240e31ce60e0fa608b216e5e5b8170ba (diff)
Ignore the doom overtime when computing the softDoomFactor.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/matcher.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
index b25ad2176bb..cf7cbe9b8d9 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
@@ -316,13 +316,11 @@ Matcher::match(const SearchRequest &request, vespalib::ThreadBundle &threadBundl
_stats.add(my_stats);
if (my_stats.softDoomed()) {
double old = _stats.softDoomFactor();
- fastos::TimeStamp left = my_stats.doomOvertime();
- fastos::TimeStamp realTimeout = (left >= 0) ? request.getTimeout() : (request.getTimeout() - left);
- fastos::TimeStamp softLimit = uint64_t((1.0 - _rankSetup->getSoftTimeoutTailCost()) * realTimeout);
- _stats.updatesoftDoomFactor(request.getTimeout(), softLimit, duration);
- LOG(info, "Triggered softtimeout factor adjustment. request=%1.3f, real=%1.3f, limit=%1.3f and duration=%1.3f, rankprofile=%s"
+ fastos::TimeStamp softLimit = uint64_t((1.0 - _rankSetup->getSoftTimeoutTailCost()) * request.getTimeout());
+ _stats.updatesoftDoomFactor(request.getTimeout(), softLimit, duration - my_stats.doomOvertime());
+ LOG(info, "Triggered softtimeout factor adjustment. request=%1.3f, doomOvertime=%1.3f, limit=%1.3f and duration=%1.3f, rankprofile=%s"
", factor adjusted from %1.3f to %1.3f",
- request.getTimeout().sec(), realTimeout.sec(), softLimit.sec(), duration.sec(),
+ request.getTimeout().sec(), my_stats.doomOvertime().sec(), softLimit.sec(), duration.sec(),
request.ranking.c_str(), old, _stats.softDoomFactor());
}
}