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

Mateusz Nowakowski reopened CAMEL-8626:
---------------------------------------

Still exchangesInFlightStartTimestamps  leaking  (see MAT dump below)

However it is a case of one of ManagedSuspendableRoute object out of existing 
214 in the system.

It is for a route:
{code}
        from("direct:loopV300")
                .choice().when(property(WHILE_COUNTER).isGreaterThan(0))
                    // some procesing
                    .setProperty(WHILE_COUNTER, 
decrementProperty(WHILE_COUNTER))
                    .to("direct:loopV300")
                .end();
{code}

MAT dump:

{code}
Class Name                                                                      
                                        | Shallow Heap | Retained Heap
-------------------------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.management.mbean.ManagedSuspendableRoute @ 0x78b76a5e8         
                                        |          128 |   153 059 616
|- <class> class org.apache.camel.management.mbean.ManagedSuspendableRoute @ 
0x789ef31b0                                |            0 |             0
|- lastExchangeCompletedExchangeId java.lang.String @ 0x782074c98  
ID-plabq10-dev-sabre-com-30368-1429011401321-0-934556|           24 |           
152
|- context org.apache.camel.spring.SpringCamelContext @ 0x788396c88             
                                        |          384 |        83 344
|- exchangesInFlightStartTimestamps java.util.concurrent.ConcurrentSkipListMap 
@ 0x789fb5760                            |           48 |   153 056 936
|- exchangesInFlightKeys java.util.concurrent.ConcurrentHashMap @ 0x789fb5790   
                                        |           48 |         1 792
|- route org.apache.camel.impl.EventDrivenConsumerRoute @ 0x78a7b88d8           
                                        |           72 |           592
|- exchangesTotal org.apache.camel.management.mbean.Statistic @ 0x78bb01220     
                                        |           40 |            40
|- resetTimestamp org.apache.camel.management.mbean.Statistic @ 0x78bb01248     
                                        |           40 |            40
|- exchangesCompleted org.apache.camel.management.mbean.Statistic @ 0x78bb01270 
                                        |           40 |            40
|- exchangesFailed org.apache.camel.management.mbean.Statistic @ 0x78bb01298    
                                        |           40 |            40
|- exchangesInflight org.apache.camel.management.mbean.Statistic @ 0x78bb012c0  
                                        |           40 |            40
|- failuresHandled org.apache.camel.management.mbean.Statistic @ 0x78bb012e8    
                                        |           40 |            40
|- redeliveries org.apache.camel.management.mbean.Statistic @ 0x78bb01310       
                                        |           40 |            40
|- externalRedeliveries org.apache.camel.management.mbean.Statistic @ 
0x78bb01338                                       |           40 |            40
|- minProcessingTime org.apache.camel.management.mbean.Statistic @ 0x78bb01360  
                                        |           40 |            40
|- maxProcessingTime org.apache.camel.management.mbean.Statistic @ 0x78bb01388  
                                        |           40 |            40
|- totalProcessingTime org.apache.camel.management.mbean.Statistic @ 
0x78bb013b0                                        |           40 |            
40
|- lastProcessingTime org.apache.camel.management.mbean.Statistic @ 0x78bb013d8 
                                        |           40 |            40
|- deltaProcessingTime org.apache.camel.management.mbean.Statistic @ 
0x78bb01400                                        |           40 |            
40
|- meanProcessingTime org.apache.camel.management.mbean.Statistic @ 0x78bb01428 
                                        |           40 |            40
|- firstExchangeCompletedTimestamp org.apache.camel.management.mbean.Statistic 
@ 0x78bb01450                            |           40 |            40
|- firstExchangeFailureTimestamp org.apache.camel.management.mbean.Statistic @ 
0x78bb01478                              |           40 |            40
|- lastExchangeCompletedTimestamp org.apache.camel.management.mbean.Statistic @ 
0x78bb014a0                             |           40 |            40
|- lastExchangeFailureTimestamp org.apache.camel.management.mbean.Statistic @ 
0x78bb014c8                               |           40 |            40
|- load org.apache.camel.management.mbean.LoadTriplet @ 0x78bb014f0             
                                        |           40 |            40
|- firstExchangeCompletedExchangeId java.lang.String @ 0x790515100  
ID-plabq10-dev-sabre-com-30368-1429011401321-0-2    |           24 |           
136
|- firstExchangeFailureExchangeId java.lang.String @ 0x7928bb518  
ID-plabq10-dev-sabre-com-30368-1429011401321-0-223200 |           24 |          
 152
|- lastExchangeFailureExchangeId java.lang.String @ 0x79931b290  
ID-plabq10-dev-sabre-com-30368-1429011401321-0-834588  |           24 |         
  152
-------------------------------------------------------------------------------------------------------------------------------------------------------


route.endpoint direct://loopV300
exchangesInFlightKeys size = 0
exchangesInFlightStartTimestamps  size = 1 401 792
exchangeInFlight.value 0
exchangesTotal.value 1 869 106
exchangedFailed.value 10
exchangesCompleted.value 1 869 096

{code}




> 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
>            Assignee: Claus Ibsen
>            Priority: Critical
>             Fix For: 2.15.2, 2.16.0
>
>         Attachments: camel-core-2.15.2-SNAPSHOT.jar
>
>
> 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