aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java
diff options
context:
space:
mode:
authorOlli Virtanen <olli.virtanen@oath.com>2019-03-04 13:42:16 +0100
committerOlli Virtanen <olli.virtanen@oath.com>2019-03-04 13:42:16 +0100
commit1ca887bd458e5ae92182a7902f9d1aedb6cc40e2 (patch)
treef9b8b5acc7869c0d75bc443b26d005891fb31bca /container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java
parentac76b7090b26a82d5cdbc801a05196685b059f0c (diff)
Propagate errors quicker
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java
index ae0a29aa80b..856de8d33ef 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java
@@ -61,15 +61,20 @@ public class FS4SearchInvoker extends SearchInvoker implements ResponseMonitor<F
try {
boolean couldSend = channel.sendPacket(queryPacket);
if (!couldSend) {
- pendingSearchError = ErrorMessage.createBackendCommunicationError("Could not reach '" + getName() + "'");
+ setPendingError("Could not reach '" + getName() + "'");
}
} catch (InvalidChannelException e) {
- pendingSearchError = ErrorMessage.createBackendCommunicationError("Invalid channel " + getName());
+ setPendingError("Invalid channel " + getName());
} catch (IllegalStateException e) {
- pendingSearchError = ErrorMessage.createBackendCommunicationError("Illegal state in FS4: " + e.getMessage());
+ setPendingError("Illegal state in FS4: " + e.getMessage());
}
}
+ private void setPendingError(String message) {
+ pendingSearchError = ErrorMessage.createBackendCommunicationError(message);
+ responseAvailable();
+ }
+
@Override
protected Result getSearchResult(CacheKey cacheKey, Execution execution) throws IOException {
if (pendingSearchError != null) {