diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-04 13:42:16 +0100 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-04 13:42:16 +0100 |
commit | 1ca887bd458e5ae92182a7902f9d1aedb6cc40e2 (patch) | |
tree | f9b8b5acc7869c0d75bc443b26d005891fb31bca /container-search/src/main/java/com/yahoo/prelude/fastsearch/FS4SearchInvoker.java | |
parent | ac76b7090b26a82d5cdbc801a05196685b059f0c (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.java | 11 |
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) { |