[Java broker] no-local checking for published messages can prevent 
0-8/0-9/0-9-1 connections being garbage collected after they are closed
------------------------------------------------------------------------------------------------------------------------------------------

                 Key: QPID-3829
                 URL: https://issues.apache.org/jira/browse/QPID-3829
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.14
            Reporter: Robbie Gemmell
            Assignee: Robbie Gemmell
             Fix For: 0.15


The support for no-local checking for published messages can cause 
0-8/0-9/0-9-1 connections to be retained in memory after they are closed, until 
such time as the published messages are consumed. This is because the 
ProtocolSession itself is used for the reference check, meaning the messages 
will reference them and prevent the closed connection (and associated IO 
threads) being garbage collected until they are themselves are. Short term, the 
0-8/0-9/0-9-1 no-local checking should be aligned with the 0-10 behaviour of 
using a seperate reference object associated with the connection, allowing the 
connection itself to be collected. Longer term, using the connection IDs etc 
instead of a separate object would seem more efficient.

--
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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to