[ 
https://issues.apache.org/jira/browse/CAMEL-8626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14492533#comment-14492533
 ] 

Mateusz Nowakowski commented on CAMEL-8626:
-------------------------------------------

Output from Eclipse Memory Analizer Tool
{code}
Class Name                                                                      
                                        | Shallow Heap | Retained Heap
-------------------------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.management.mbean.ManagedSuspendableRoute @ 0xa8ac4cf0          
                                        |          128 |    33 939 752
|- <class> class org.apache.camel.management.mbean.ManagedSuspendableRoute @ 
0xa8ecfd20                                 |            0 |             0
|- lastExchangeFailureExchangeId java.lang.String @ 0x8b01cb68  
ID-plabq10-dev-sabre-com-21992-1428925014784-0-9822762  |           24 |        
   152
|- lastExchangeCompletedExchangeId java.lang.String @ 0x9b134df8  
ID-plabq10-dev-sabre-com-21992-1428925014784-0-9823226|           24 |          
 152
|- context org.apache.camel.spring.SpringCamelContext @ 0xa8272878              
                                        |          384 |        60 760
|- exchangesInFlightKeys java.util.concurrent.ConcurrentHashMap @ 0xa87d7358    
                                        |           64 |     4 977 264
|- exchangesTotal org.apache.camel.management.mbean.Statistic @ 0xa8aad000      
                                        |           40 |            40
|- resetTimestamp org.apache.camel.management.mbean.Statistic @ 0xa8aad028      
                                        |           40 |            40
|- exchangesCompleted org.apache.camel.management.mbean.Statistic @ 0xa8aad050  
                                        |           40 |            40
|- exchangesFailed org.apache.camel.management.mbean.Statistic @ 0xa8aad078     
                                        |           40 |            40
|- exchangesInflight org.apache.camel.management.mbean.Statistic @ 0xa8aad0a0   
                                        |           40 |            40
|- failuresHandled org.apache.camel.management.mbean.Statistic @ 0xa8aad0c8     
                                        |           40 |            40
|- redeliveries org.apache.camel.management.mbean.Statistic @ 0xa8aad0f0        
                                        |           40 |            40
|- externalRedeliveries org.apache.camel.management.mbean.Statistic @ 
0xa8aad118                                        |           40 |            40
|- minProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad140   
                                        |           40 |            40
|- maxProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad168   
                                        |           40 |            40
|- totalProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad190 
                                        |           40 |            40
|- lastProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad1b8  
                                        |           40 |            40
|- deltaProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad1e0 
                                        |           40 |            40
|- meanProcessingTime org.apache.camel.management.mbean.Statistic @ 0xa8aad208  
                                        |           40 |            40
|- firstExchangeCompletedTimestamp org.apache.camel.management.mbean.Statistic 
@ 0xa8aad230                             |           40 |            40
|- firstExchangeFailureTimestamp org.apache.camel.management.mbean.Statistic @ 
0xa8aad258                               |           40 |            40
|- lastExchangeCompletedTimestamp org.apache.camel.management.mbean.Statistic @ 
0xa8aad280                              |           40 |            40
|- lastExchangeFailureTimestamp org.apache.camel.management.mbean.Statistic @ 
0xa8aad2a8                                |           40 |            40
|- load org.apache.camel.management.mbean.LoadTriplet @ 0xa8aad2d0              
                                        |           40 |            40
|- exchangesInFlightStartTimestamps java.util.concurrent.ConcurrentSkipListMap 
@ 0xa8ab4850                             |           48 |     4 421 800
-------------------------------------------------------------------------------------------------------------------------------------------------------
{code}

And some statistics values:

exchangesInFlightKeys  -> 98175 non-empty entries
exchangesTotal.value 4911592
exchangesCompleted.value 4788850
exchangesFailed.value 122742
exchangesInFlight.value  27
failuresHandled.value 0
failuresHandled.updateCount 0
redeliveries.value 0
externalRedeliveries.value 0

> Leaking exchangesInFlightKeys in ManagedRoute
> ---------------------------------------------
>
>                 Key: CAMEL-8626
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8626
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.15.1
>         Environment: Java 8 u 40 64 bit, Linux
>            Reporter: Mateusz Nowakowski
>            Priority: Critical
>
> Having a camel context with a single route:
> {code}
>         onException(Throwable.class)
>                 .handled(true)
>                 .process(handleException()); // essentially  doing 
> exchange.setException(someConvertedException);
>         from("direct:generalFlow")
>                 .routingSlip(property(GeneralFlowRoute.class.getName()));
> {code}
> started from Spring:
> {code}
>     <camelContext id="flows" xmlns="http://camel.apache.org/schema/spring";>
>         <template id="template" defaultEndpoint="direct:generalFlow"/>
>         <routeBuilder ref="generalFlow"/>
>     </camelContext>
>     <bean id="generalFlow" class="com.blabla.GeneralFlowRoute"/>
> {code}
> During performance test both exchangesInFlightKeys  and 
> exchangesInFlightStartTimestamps are accumulating over time.
> But if the test is run in one thread with debug - nothing is accumulated.
> Issue found after migration from 2.14.1 to 2.15.1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to