aboutsummaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-08-21 09:34:04 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-08-21 09:34:04 +0200
commit318938fa9fa866481df4dee93aaa190abc4b3172 (patch)
tree3ff346cad3f3b0221e53f1b0cf31b01e7428da54 /container-search
parent9c911e14aa16f5165a46880ebe112e3a8162277a (diff)
Generate an explicit timeout message
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java2
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;