aboutsummaryrefslogtreecommitdiffstats
path: root/docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java')
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java
index 09d25f60835..2b9042bafac 100644
--- a/docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java
+++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/messagebus/MbusRequestContext.java
@@ -51,6 +51,7 @@ public class MbusRequestContext implements RequestContext, ResponseHandler {
// document being processed is a resource and is then grabbing more resources of
// the same type without releasing its own resources.
public final static String internalNoThrottledSource = "internalNoThrottledSource";
+ private final static String internalNoThrottledSourcePath = "/" + internalNoThrottledSource;
public MbusRequestContext(MbusRequest request, ResponseHandler responseHandler,
ComponentRegistry<DocprocService> docprocServiceComponentRegistry,
@@ -96,12 +97,16 @@ public class MbusRequestContext implements RequestContext, ResponseHandler {
}
long inputSequenceId = requestMsg.getSequenceId();
ResponseMerger responseHandler = new ResponseMerger(requestMsg, messages.size(), this);
+ int numMsgWithOriginalSequenceId = 0;
for (Message message : messages) {
+ if (message.getSequenceId() == inputSequenceId) numMsgWithOriginalSequenceId++;
+ }
+ for (Message message : messages) {
+ String path = internalNoThrottledSourcePath;
+ if ((numMsgWithOriginalSequenceId == 1) && (message.getSequenceId() == inputSequenceId))
+ path = getUri().getPath();
// See comment for internalNoThrottledSource
- dispatchRequest(message,
- message.getSequenceId() == inputSequenceId ? getUri().getPath()
- : "/" + internalNoThrottledSource,
- responseHandler);
+ dispatchRequest(message, path, responseHandler);
}
}