diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-05-07 17:26:43 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-05-07 17:26:43 +0200 |
commit | 55211b0c82e795edf7a4b4015001bfb363eaa3ad (patch) | |
tree | 1ff7ea6f22b4e6d107e9a7ea705b0feb56898c26 /container-search/src/main/java/com | |
parent | ba17eafcc199a5029dd571ad96f8a1962ed34c7b (diff) |
Check for query timeout before dispatching streaming search query
Diffstat (limited to 'container-search/src/main/java/com')
-rw-r--r-- | container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java | 6 |
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 " + |