Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3829

[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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.14
    • 0.15
    • Broker-J
    • None

    Description

      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.

      Attachments

        Activity

          People

            kwall Keith Wall
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: