summaryrefslogtreecommitdiffstats
path: root/vespaclient-core
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-01-12 13:29:55 +0000
committerArne H Juul <arnej@yahoo-inc.com>2017-01-12 13:41:07 +0000
commit523e2d7c7d4812afd554538cfaf5cdd46adaddd4 (patch)
tree5ac5dfec5f325ad9255d7639294fba884511f4a8 /vespaclient-core
parent636b8de120c40124f086ec5a130ac55ceba87b0a (diff)
ensure correct accounting on InterruptedException
Diffstat (limited to 'vespaclient-core')
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java19
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);
}
}