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

[Java Broker] Java Broker leaks connections and sessions via SessionPrincipal and ConnectionPrincipal in Thread inherited access control context

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.30
    • 0.31
    • Broker-J
    • None

    Description

      On thread creation, current caller AccessControlContext is stored in Thread field inheritedAccessControlContext. If such AccessControlContext contains references to SessionPrincipal and ConnectionPrincipal instances (i.e. thread is created in Connection/Session), the corresponding Session and Connection objects are not GC'ed until Thread stops running. If Thread is created in implementation of java.util.concurrent. Executor it can be re-used and remain alive until Executor utilizes the thread. Potentially, such threads might stay alive until Broker JVM is shutdown.

      Attachments

        Activity

          People

            kwall Keith Wall
            orudyy Alex Rudyy
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: