[
https://issues.apache.org/jira/browse/QPID-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14013901#comment-14013901
]
ASF subversion and git services commented on QPID-5795:
-------------------------------------------------------
Commit 1598658 from [~k-wall] in branch 'qpid/trunk'
[ https://svn.apache.org/r1598658 ]
QPID-5795: [Java Broker] Prevent ConnectionAdapter leak when closing a
messaging connection
The leak was due to the fact that nothing was telling the virtualhost to
unregister the connection child (#unregisterChild)
when the connection was closed.
* Made ConnectionAdapter responsible for causing its own deletion (when the
underlying connection is closed). The call to #deleted() causes the child
to be unregistered from its parent (preventing the leak)
* Removed the now unnecessary _connectionAdapters map from the VH. This
needlessly duplicated information already held more generally by the ACO.
* Refactored SessionAdapter in sympathy with CA changes. SessionsAdapters
where _not_ being leaked as the session implementation were already telling the
model to delete.
> Closing a connection leaks a ConnectionAdapter object
> -----------------------------------------------------
>
> Key: QPID-5795
> URL: https://issues.apache.org/jira/browse/QPID-5795
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: 0.29
> Reporter: Keith Wall
> Assignee: Keith Wall
>
> We currently have a regression on trunk (0.29) whereby closure of a messaging
> connection (any AMQP version) causes a ConnectionAdapter object to be leaked.
> On connection close (normal or otherwise), the code fails to arrange for the
> reversal of ACO#registerChild, therefore the maps ACO#_childrenByName etc
> permanently retain the reference to the ConnectionAdapter. The leak is large
> because this causes the sizeable IO buffers to be retained too.
> This causes any long running test, that creates and closes many connections
> over the lifetime of the Broker to run the risk of OOM. This problem has
> been noticed owning to the failure of the long running TCK test (which has
> been failing with OOM).
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]