[ https://issues.apache.org/activemq/browse/AMQ-932?page=all ]

james strachan resolved AMQ-932.
--------------------------------

    Fix Version/s: 4.1
       Resolution: Fixed

Patch applied John with thanks - could you double check I've applied it 
correctly please?

> Quickly broken client connections lead to memory leaks
> ------------------------------------------------------
>
>                 Key: AMQ-932
>                 URL: https://issues.apache.org/activemq/browse/AMQ-932
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.0.2
>            Reporter: John Heitmann
>             Fix For: 4.1
>
>         Attachments: 73.diff
>
>
> Connections to the openwire port that are pathologically broken (for example 
> any http request) or that die in some other way extremely quickly will lead 
> to memory losses of aout 64Kb each time. This happens because many services 
> are stop()ed directly in the middle of start(), and then never stopped for 
> real, or stopped again but on an object tree with an inconsistent state. This 
> is usually also accompanied by the JMX message:
> WARN  ManagedTransportConnection     - Failed to unregister mbean: 
> org.apache.activemq:BrokerName=localhost,Type=Connection,ConnectorName=default,Connection=25
> But that is a cosmetic symptom and not critical (and this has otherwise 
> nothing to do with JMX).
> My patch is a band-aid that is functional but I'm not very happy with it. The 
> patch changes some service logic so that if stop is called in the middle of 
> start, the stop is instead queued and called at the end of start. There will 
> still be multiple stops, and you'll still see the cosmetic JMX error from the 
> second ineffectual stop, but the first stop cleans up correctly so there are 
> no leaks.
> I think there's probably a better solution, but it was tough to see what. I'd 
> appreciate better ideas. Possibly something involving moving the dangerous 
> operations (wire format negotiation etc) out of start?
> I am working on a unit test, but I can't promise I will have something to 
> submit. I'm having to play JVM games to detect the problem in a unit test and 
> that might not fly for general purpose use.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to