You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Marcin Kolda (JIRA)" <ji...@apache.org> on 2011/02/28 13:29:36 UTC
[jira] Created: (CAMEL-3727) Recipient list with parallel
processing doesn't reuse aggregation threads
Recipient list with parallel processing doesn't reuse aggregation threads
-------------------------------------------------------------------------
Key: CAMEL-3727
URL: https://issues.apache.org/jira/browse/CAMEL-3727
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.6.0
Reporter: Marcin Kolda
Priority: Critical
When I'm using recipient list in parallel mode {{aggregateExecutorService}} in {{MulticastProcessor}} doesn't reuse threads and is creating one new thread per each request.
To reproduce this bug simply add a loop to {{RecipientListParallelTest.testRecipientListParallel()}} test:
{code:title=RecipientListParallelTest.java|borderStyle=solid}
public void testRecipientListParallel() throws Exception {
for (int i = 0; i < 10000; i++) {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.reset();
mock.expectedBodiesReceivedInAnyOrder("c", "b", "a");
template.sendBodyAndHeader("direct:start", "Hello World", "foo", "direct:a,direct:b,direct:c");
assertMockEndpointsSatisfied();
}
}
{code}
In the logs you can find:
{code}
2011-02-28 13:22:30,984 [) thread #0 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:31,984 [) thread #4 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:32,984 [) thread #8 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:34,000 [ thread #12 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:35,000 [ thread #14 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:36,000 [ thread #15 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:37,015 [ thread #16 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
2011-02-28 13:22:38,015 [ thread #17 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
{code}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CAMEL-3727) Recipient list with parallel
processing doesn't reuse aggregation threads
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-3727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-3727:
-------------------------------
Fix Version/s: (was: 2.8.0)
2.7.0
Thanks for reporting. I got this covered now. Running full tests before committing the fix.
> Recipient list with parallel processing doesn't reuse aggregation threads
> -------------------------------------------------------------------------
>
> Key: CAMEL-3727
> URL: https://issues.apache.org/jira/browse/CAMEL-3727
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.6.0
> Reporter: Marcin Kolda
> Assignee: Claus Ibsen
> Fix For: 2.7.0
>
>
> When I'm using recipient list in parallel mode {{aggregateExecutorService}} in {{MulticastProcessor}} doesn't reuse threads and is creating one new thread per each request.
> To reproduce this bug simply add a loop to {{RecipientListParallelTest.testRecipientListParallel()}} test:
> {code:title=RecipientListParallelTest.java|borderStyle=solid}
> public void testRecipientListParallel() throws Exception {
> for (int i = 0; i < 10000; i++) {
> MockEndpoint mock = getMockEndpoint("mock:result");
> mock.reset();
> mock.expectedBodiesReceivedInAnyOrder("c", "b", "a");
> template.sendBodyAndHeader("direct:start", "Hello World", "foo", "direct:a,direct:b,direct:c");
> assertMockEndpointsSatisfied();
> }
> }
> {code}
> In the logs you can find:
> {code}
> 2011-02-28 13:22:30,984 [) thread #0 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:31,984 [) thread #4 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:32,984 [) thread #8 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:34,000 [ thread #12 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:35,000 [ thread #14 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:36,000 [ thread #15 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:37,015 [ thread #16 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:38,015 [ thread #17 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> {code}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (CAMEL-3727) Recipient list with parallel
processing doesn't reuse aggregation threads
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-3727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-3727.
--------------------------------
Resolution: Fixed
trunk: 1075372.
> Recipient list with parallel processing doesn't reuse aggregation threads
> -------------------------------------------------------------------------
>
> Key: CAMEL-3727
> URL: https://issues.apache.org/jira/browse/CAMEL-3727
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.6.0
> Reporter: Marcin Kolda
> Assignee: Claus Ibsen
> Fix For: 2.7.0
>
>
> When I'm using recipient list in parallel mode {{aggregateExecutorService}} in {{MulticastProcessor}} doesn't reuse threads and is creating one new thread per each request.
> To reproduce this bug simply add a loop to {{RecipientListParallelTest.testRecipientListParallel()}} test:
> {code:title=RecipientListParallelTest.java|borderStyle=solid}
> public void testRecipientListParallel() throws Exception {
> for (int i = 0; i < 10000; i++) {
> MockEndpoint mock = getMockEndpoint("mock:result");
> mock.reset();
> mock.expectedBodiesReceivedInAnyOrder("c", "b", "a");
> template.sendBodyAndHeader("direct:start", "Hello World", "foo", "direct:a,direct:b,direct:c");
> assertMockEndpointsSatisfied();
> }
> }
> {code}
> In the logs you can find:
> {code}
> 2011-02-28 13:22:30,984 [) thread #0 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:31,984 [) thread #4 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:32,984 [) thread #8 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:34,000 [ thread #12 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:35,000 [ thread #14 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:36,000 [ thread #15 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:37,015 [ thread #16 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:38,015 [ thread #17 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> {code}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CAMEL-3727) Recipient list with parallel
processing doesn't reuse aggregation threads
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAMEL-3727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-3727:
-------------------------------
Priority: Major (was: Critical)
Fix Version/s: 2.8.0
Assignee: Claus Ibsen
> Recipient list with parallel processing doesn't reuse aggregation threads
> -------------------------------------------------------------------------
>
> Key: CAMEL-3727
> URL: https://issues.apache.org/jira/browse/CAMEL-3727
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.6.0
> Reporter: Marcin Kolda
> Assignee: Claus Ibsen
> Fix For: 2.8.0
>
>
> When I'm using recipient list in parallel mode {{aggregateExecutorService}} in {{MulticastProcessor}} doesn't reuse threads and is creating one new thread per each request.
> To reproduce this bug simply add a loop to {{RecipientListParallelTest.testRecipientListParallel()}} test:
> {code:title=RecipientListParallelTest.java|borderStyle=solid}
> public void testRecipientListParallel() throws Exception {
> for (int i = 0; i < 10000; i++) {
> MockEndpoint mock = getMockEndpoint("mock:result");
> mock.reset();
> mock.expectedBodiesReceivedInAnyOrder("c", "b", "a");
> template.sendBodyAndHeader("direct:start", "Hello World", "foo", "direct:a,direct:b,direct:c");
> assertMockEndpointsSatisfied();
> }
> }
> {code}
> In the logs you can find:
> {code}
> 2011-02-28 13:22:30,984 [) thread #0 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:31,984 [) thread #4 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:32,984 [) thread #8 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:34,000 [ thread #12 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:35,000 [ thread #14 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:36,000 [ thread #15 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:37,015 [ thread #16 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> 2011-02-28 13:22:38,015 [ thread #17 - RecipientListProcessor-AggregateTask] DEBUG MulticastProcessor - Done aggregating 3 exchanges on the fly.
> {code}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira