[
https://issues.apache.org/jira/browse/CAMEL-16084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273976#comment-17273976
]
Jeremy Ross edited comment on CAMEL-16084 at 1/29/21, 1:39 AM:
---------------------------------------------------------------
[~davsclaus] the wiretap is still firing off hundreds of requests to salesforce
at once. This might have something to do with salesforce being an
AsyncProducer.
I'm attaching an example of using a wiretap with a threadpool of 1. You can see
that each wiretap invocation alternates between the main thread and the 1
thread from the threadpool. All 100 requests are sent off within 50ms. Then
about 500ms later, all 100 results come back in.
[^wiretap-results.txt]
Again, this issue does not exist with, e.g., the http component. The requests
and responses interleave exactly as you'd expect. Not sure if this is the
difference between a Producer (http) and AsyncProducer (salesforce), or
something else.
was (Author: jeremyross):
[~davsclaus] the wiretap is still firing off hundreds of requests to salesforce
at once, all from one thread. This might have something to do with salesforce
being an AsyncProducer.
I'm attaching an example of using a wiretap with a threadpool of 1. You can see
that each wiretap invocation alternates between the main thread and the 1
thread from the threadpool. All 100 requests are sent off within 50ms. Then
about 500ms later, all 100 results come back in.
[^wiretap-results.txt]
Again, this issue does not exist with, e.g., the http component. The requests
and responses interleave exactly as you'd expect. Not sure if this is the
difference between a Producer (http) and AsyncProducer (salesforce), or
something else.
> salesforce: Out of order execution
> ----------------------------------
>
> Key: CAMEL-16084
> URL: https://issues.apache.org/jira/browse/CAMEL-16084
> Project: Camel
> Issue Type: Bug
> Components: camel-salesforce
> Affects Versions: 3.7.1
> Reporter: Jeremy Ross
> Assignee: Jeremy Ross
> Priority: Major
> Attachments: wiretap-results.txt
>
>
> When using a salesforce operation after an aggregator, control seems to
> return to the aggregate caller immediately instead of proceeding with
> processors downstream from the salesforce operation. This is the behavior I'd
> expect if using the aggregator with parallelProcessing.
> I believe this is longstanding behavior, however with the removal of the
> `synchronous` option from the salesforce component (CAMEL-14138), we've
> removed a workaround to this issue.
> I'm seeing the same behavior with a salesforce operation via a wiretap with a
> threadpool with poolsize, maxsize and queuesize of 1, which should
> effectively behave in a synchronous manner.
> Test case: https://gist.github.com/jeremyross/4d7d14a33452edf236faefda77ad3e3d
--
This message was sent by Atlassian Jira
(v8.3.4#803005)