[ 
https://issues.apache.org/jira/browse/ARTEMIS-2991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Luis Miguel De Bello updated ARTEMIS-2991:
------------------------------------------
    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

  was:
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.

 

Proposal:

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


> Leak of HttpAcceptorHandler instances when using websocket connections
> ----------------------------------------------------------------------
>
>                 Key: ARTEMIS-2991
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2991
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 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
>            Reporter: Luis Miguel De Bello
>            Priority: Major
>             Fix For: 2.17.0
>
>         Attachments: HeapDump analysis.png
>
>
> 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



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to