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.