aboutsummaryrefslogtreecommitdiffstats
path: root/docproc/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-09-02 10:09:52 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-09-02 10:09:52 +0000
commitea820868d666739da68850ecae07d20628d941b6 (patch)
tree64c1133c82b00676f7d754662b129aab78696d1f /docproc/src/main/java/com/yahoo
parentf5487d3d9eda0632b3762312c478c57d83178827 (diff)
- Add test for sequencing.
- Also sequence multiple operations to the same id as the originating request.
Diffstat (limited to 'docproc/src/main/java/com/yahoo')
-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);
}
}