diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-08-21 09:34:04 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-08-21 09:34:04 +0200 |
commit | 318938fa9fa866481df4dee93aaa190abc4b3172 (patch) | |
tree | 3ff346cad3f3b0221e53f1b0cf31b01e7428da54 /container-search | |
parent | 9c911e14aa16f5165a46880ebe112e3a8162277a (diff) |
Generate an explicit timeout message
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java | 2 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java index 6425c5e68dc..2d84a536da6 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java @@ -251,6 +251,8 @@ public class FederationSearcher extends ForkingSearcher { private FutureResult searchAsynchronously(Query query, Execution execution, Window window, Target target) { long timeout = target.federationOptions().getSearchChainExecutionTimeoutInMilliseconds(query.getTimeLeft()); + if (timeout <= 0) + return new FutureResult(() -> new Result(query, ErrorMessage.createTimeout("Timed out before federation")), execution, query); Query clonedQuery = cloneFederationQuery(query, window, timeout, target); return new AsyncExecution(target.getChain(), execution).search(clonedQuery); } diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java b/container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java index 0ed0768054f..440cd935c9f 100644 --- a/container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java +++ b/container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java @@ -29,7 +29,7 @@ public class FutureResult extends FutureTask<Result> { private final static Logger log = Logger.getLogger(FutureResult.class.getName()); - protected FutureResult(Callable<Result> callable, Execution execution, Query query) { + public FutureResult(Callable<Result> callable, Execution execution, Query query) { super(callable); this.query = query; this.execution = execution; |