You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Mateusz Nowakowski (JIRA)" <ji...@apache.org> on 2015/04/13 17:46:12 UTC
[jira] [Commented] (CAMEL-8626) Leaking exchangesInFlightKeys in
ManagedRoute
[ 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)