Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-2991

Leak of HttpAcceptorHandler instances when using websocket connections

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.9.0, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.13.0, 2.14.0, 2.15.0, 2.16.0
    • 2.17.0
    • Broker
    • None

    Description

      We are running Artemis 2.9.0 and we noticed the memory grows continuously after getting a heap we discovered there are a leak of multiple instances of type org.apache.activemq.artemis.core.remoting.impl.netty.HttpAcceptorHandler which are keep in a list inside org.apache.activemq.artemis.core.remoting.impl.netty.HttpKeepAliveRunnable.

       

      Those instances are removed in the channelInactive method but this method is not called because when doing the upgrade to websocket the handler is removed.

       

      Proposals:

      1) In the upgrade clean up the reference for the HttpAcceptorHandler before removing the handler.

      2) If option 1 does not work because that threads also send the keep alive for websocket, I could use the channelInactive from websocket handler to later unregister the handler

      Attachments

        1. HeapDump analysis.png
          295 kB
          Luis Miguel De Bello

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ldebello Luis Miguel De Bello
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 20m
                  2h 20m