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

[Java Client] AMQSession.deregisterConsumer() leaks Memory

    XMLWordPrintableJSON

Details

    Description

      If a JMS user continually closes consumers on the same transactional session, a memory leak occurs at the following location. The leak remains until the Session is closed (Session#close()) or the session is rolled-back. (Session#rollback()).

      AMQSession.deregisterConsumer() contains the following code:

      if (_transacted)
      {
          _removedConsumers.add(consumer);
      }
      

      However, the _removedConsumers list is only cleaned up on rollback and nowhere else.

      This leak appears to be longstanding. It looks like it was added at M3 (QPID-832).

      Attachments

        1. QPID-6951-fix.diff
          2 kB
          Alex Rudyy

        Activity

          People

            kwall Keith Wall
            lorenz.quack Lorenz Quack
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: