diff options
Diffstat (limited to 'vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java')
-rwxr-xr-x | vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java index 6d089abf0b4..551cf5722d8 100755 --- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java +++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java @@ -122,16 +122,21 @@ public class SharedSender implements ReplyHandler { owner.getPending().inc(); globalPending.inc(); + com.yahoo.messagebus.Result r; try { - com.yahoo.messagebus.Result r = sender.send(msg, blockingQueue); - if (!r.isAccepted()) { - EmptyReply reply = new EmptyReply(); - msg.swapState(reply); - reply.setMessage(msg); + r = sender.send(msg, blockingQueue); + } catch (InterruptedException e) { + r = null; + } + if (r == null || !r.isAccepted()) { + // pretend we sent OK but got this error reply: + EmptyReply reply = new EmptyReply(); + msg.swapState(reply); + reply.setMessage(msg); + if (r != null) { reply.addError(r.getError()); - handleReply(reply); } - } catch (InterruptedException e) { + handleReply(reply); } } |