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

Claus Ibsen updated AMQ-3588:
-----------------------------

    Attachment: after.png

After is the same test with 50.000 messages and this time no memory leak
                
> PooledSession - Can cause memory leak in case many consumers is created by 
> the session
> --------------------------------------------------------------------------------------
>
>                 Key: AMQ-3588
>                 URL: https://issues.apache.org/jira/browse/AMQ-3588
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: activemq-camel
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Critical
>              Labels: activemq-pool, camel,
>             Fix For: 5.6.0
>
>         Attachments: AMQ-3588.patch, after.png, before.png
>
>
> See (CAMEL-4657
> In the activemq-pool we have a memory leak when a PooledSession is used to 
> create many consumers. As each consumer is added to an internal list, which 
> in case the session is closed, the list is used to ensure all previously 
> created consumers gets closed as well.
> However if the session is used to create many consumers, then that internal 
> list just keep growing, and causing OOME. See attached screenshots of a 
> before vs after with the bug fix.
> So to remedy this situation, we should ensure any closed consumer gets 
> removed from that internal list. As its already closed, and therefore the 
> session do not need to keep track of it anymore.
> This bug have existed ever since AMQ-615.
> The impact of this bug can be seen in CAMEL-4657, which essentially makes 
> using Camel for request/reply over JMS with AMQ and with named replyTo queues 
> (eg not temporary) will cause this problem. The problem manifests due Spring 
> DMLC, which uses a MessageSelector to only pickup expected reply messages. 
> And because the MessageSelector is created once when the consumer is created. 
> We need to create a new Consumer, every time a new message is doing 
> request/reply, to ensure the Message Selector gets updated. So in that 
> situation many consumers get created, which leads to OOME as the list in 
> PooledSession keeps growing.
> It would be great if this bug fix can be backported to the 5.5 branch as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to