[ 
https://issues.apache.org/jira/browse/CAMEL-3535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Feaver updated CAMEL-3535:
--------------------------------

    Description: 
When creating a route that contains an aggregation, if that aggregation is 
preceded by a bean or process, it will fail to call 
AggregateOnCompletion.onComplete(). I've attached a unit test that can show you 
the behavior. Trace level loggging will need to be enabled to see the 
difference. With the call to the bean, it won't show the following log entry:
{noformat}TRACE org.apache.camel.processor.aggregate.AggregateProcessor - 
Aggregated exchange onComplete: Exchange[Message: ab]{noformat}
If you remove the bean call, it'll start calling onComplete() again.

What I've noticed is that if this call is not made, it ends up in a memory leak 
since the inProgressCompleteExchanges HashSet in AggregateProcessor never has 
any exchange ID's removed.

  was:
When creating a route that contains an aggregation, if that aggregation is 
preceded by a bean or process, it will fail to call 
AggregateOnCompletion.onComplete(). I've attached a unit test that can show you 
the behavior. Trace level loggging will need to be enabled to see the 
difference. With the call to the bean, it won't show the following log entry:
{noformat}TRACE org.apache.camel.processor.aggregate.AggregateProcessor - 
Aggregated exchange onComplete: Exchange[Message: ab]{noformat}
If you remove the bean call, it'll start calling onComplete() again.



> Aggregation fails to call onComplete for exchanges if the aggregation is 
> after a bean or process.
> -------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3535
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3535
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.5.0
>            Reporter: Brian Feaver
>         Attachments: AggregationTest.java
>
>
> When creating a route that contains an aggregation, if that aggregation is 
> preceded by a bean or process, it will fail to call 
> AggregateOnCompletion.onComplete(). I've attached a unit test that can show 
> you the behavior. Trace level loggging will need to be enabled to see the 
> difference. With the call to the bean, it won't show the following log entry:
> {noformat}TRACE org.apache.camel.processor.aggregate.AggregateProcessor - 
> Aggregated exchange onComplete: Exchange[Message: ab]{noformat}
> If you remove the bean call, it'll start calling onComplete() again.
> What I've noticed is that if this call is not made, it ends up in a memory 
> leak since the inProgressCompleteExchanges HashSet in AggregateProcessor 
> never has any exchange ID's removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to