You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2008/10/21 09:38:52 UTC

[jira] Updated: (SM-1234) ServiceMix JMS MultiplexingConsumerProcessor memory bloat due to hung/delayed exchanges

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

Freeman Fang updated SM-1234:
-----------------------------

    Fix Version/s: 3.3.1
                   3.4
                       (was: 3.3)

> ServiceMix JMS MultiplexingConsumerProcessor memory bloat due to hung/delayed exchanges
> ---------------------------------------------------------------------------------------
>
>                 Key: SM-1234
>                 URL: https://issues.apache.org/activemq/browse/SM-1234
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-jms
>    Affects Versions: 3.2.1
>            Reporter: Trevor Pounds
>             Fix For: 3.3.1, 3.4
>
>
> There is a pendingMessages data structure which holds onto JMS Message object references until the exchange is returned.  If the asynchronous exchanges are hung or delayed the pendingMessages can grow quite large resulting in heap allocation errors if the messages are large.  A heap dump on one of our data sets showed > 700MB of messages being referenced due to this data structure.  As far as I can tell the JMS Message reference pulled from the map is only used to retrieve certain JMS Message properties (getJMSReplyTo, getJMSMessageID, getJMSCorrelationID). 
> Possible fixes:
> 1) On InOnly exchanges do not store the Message since the method exits without using any of the message attributes
> 2) Store only the attributes needed for exchanges needing a reply

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