activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arthur Naseef (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-3680) Cleanup of temporary destinations by PooledConnection and ConnectionPool either leaks temp dests or deletes too many
Date Wed, 25 Jan 2012 00:48:40 GMT

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

Arthur Naseef updated AMQ-3680:
-------------------------------

    Attachment: TestConnectionPoolTempCleanup.java

JUnit that quickly demonstrates the issue.

Includes code to test that a connection's temporary destinations are removed as well as another
test that one connection doesn't remove the temp destinations of another.
                
> 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
>         Attachments: TestConnectionPoolTempCleanup.java, pooledConnCleanupOwnTemps.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> 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

        

Mime
View raw message