summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-09-20 09:51:24 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-09-20 09:51:24 +0000
commit0e5fdfa53ba98d79fddf0481ed6cd70b8de18507 (patch)
tree1419935351506f21b6fbe73c3d4235ad3c454482 /searchcore
parent3c7ed3681f497c846007074a6a2c0509a5b34f88 (diff)
Return early if hard doomed in the Q
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp
index 8f4d1a2efb9..25b16909a42 100644
--- a/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matchengine/matchengine.cpp
@@ -123,8 +123,12 @@ MatchEngine::search(SearchRequest::Source request, SearchClient &client)
return performSearch(std::move(request));
}
-std::unique_ptr<search::engine::SearchReply>
-MatchEngine::doSearch(const search::engine::SearchRequest & searchRequest) {
+std::unique_ptr<SearchReply>
+MatchEngine::doSearch(const SearchRequest & searchRequest) {
+ if (searchRequest.expired()) {
+ vespalib::Issue::report("Query timed out in the query Q.");
+ return std::make_unique<SearchReply>();
+ }
// 3 is the minimum level required for backend tracing.
searchRequest.setTraceLevel(trace::Level::lookup(searchRequest.propertiesMap.modelOverrides(),
searchRequest.trace().getLevel()), 3);