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


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.

Reply via email to