Cleanup of temporary destinations by PooledConnection and ConnectionPool either
leaks temp dests or deletes too many
--------------------------------------------------------------------------------------------------------------------
Key: AMQ-3680
URL: https://issues.apache.org/jira/browse/AMQ-3680
Project: ActiveMQ
Issue Type: Bug
Components: JMS client
Reporter: Arthur Naseef
Creating this as follow-up on AMQ-3457.
AMQ-3457 removed cleanup on call to close() for PooledConnection objects,
causing temporary destinations to remain in the broker until all uses of the
actual underlying ActiveMQ connection are closed. Since those other uses of
the underlying connection can be held indefinitely, or - on a very active
system - there might be almost no time when there are no users of a connection,
those temporary destinations essentially create a leak.
The most correct operation would remove the temporary destination for each
PooledConnection when it's close() method is called.
Prior to AMQ-3457, updates for AMQ-2349 attempted to resolve this problem, but
ended up being overly-aggressive, removing all of the temporary destinations
from the underlying connection. So, one PooledConnection's close() deleted
temporary destinations for multiple PooledConnection objects which were still
active.
Test case and patch will be provided.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira