diff options
author | Arne H Juul <arnej@yahoo-inc.com> | 2017-01-12 13:29:55 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahoo-inc.com> | 2017-01-12 13:41:07 +0000 |
commit | 523e2d7c7d4812afd554538cfaf5cdd46adaddd4 (patch) | |
tree | 5ac5dfec5f325ad9255d7639294fba884511f4a8 /vespaclient-core | |
parent | 636b8de120c40124f086ec5a130ac55ceba87b0a (diff) |
ensure correct accounting on InterruptedException
Diffstat (limited to 'vespaclient-core')
-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); } } |