aboutsummaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-05-07 17:26:43 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-05-07 17:26:43 +0200
commit55211b0c82e795edf7a4b4015001bfb363eaa3ad (patch)
tree1ff7ea6f22b4e6d107e9a7ea705b0feb56898c26 /container-search
parentba17eafcc199a5029dd571ad96f8a1962ed34c7b (diff)
Check for query timeout before dispatching streaming search query
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
index d06c4cd6f01..9d54ddbade6 100644
--- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
+++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
@@ -5,7 +5,6 @@ import com.yahoo.document.DocumentId;
import com.yahoo.document.select.parser.ParseException;
import com.yahoo.document.select.parser.TokenMgrException;
import com.yahoo.fs4.DocsumPacket;
-import java.util.logging.Level;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.prelude.Ping;
import com.yahoo.prelude.Pong;
@@ -30,6 +29,7 @@ import java.math.BigInteger;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -136,6 +136,10 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher {
@Override
public Result doSearch2(Query query, Execution execution) {
+ if (query.getTimeLeft() < 0) {
+ return new Result(query, ErrorMessage.createTimeout(String.format("No time left for searching (timeout=%d)", query.getTimeout())));
+ }
+
initializeMissingQueryFields(query);
if (documentSelectionQueryParameterCount(query) != 1) {
return new Result(query, ErrorMessage.createBackendCommunicationError("Streaming search needs one and " +