geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller (JIRA)" <...@geronimo.apache.org>
Subject [jira] Updated: (GERONIMO-1155) ActiveMQSessions build up during DayTrader execution
Date Thu, 10 Nov 2005 21:56:03 GMT
     [ http://issues.apache.org/jira/browse/GERONIMO-1155?page=all ]

Kevan Miller updated GERONIMO-1155:
-----------------------------------

    Attachment: RemoveSession.patch

Patch was generated against 3.2. 

> ActiveMQSessions build up during DayTrader execution
> ----------------------------------------------------
>
>          Key: GERONIMO-1155
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1155
>      Project: Geronimo
>         Type: Bug
>   Components: ActiveMQ
>     Versions: 1.0-M5
>  Environment: Suse / JDK 1.4
>     Reporter: Kevan Miller
>      Fix For: 1.0
>  Attachments: RemoveSession.patch
>
> While running DayTrader, the server got an OutOfMemoryException. At the time of failure,
there were over 17,000 ActiveMQSession instances registered with an ActiveMQ TransactionContext.
I believe that Sessions are being registered with the ActiveMQManagedConnection TransactionContext,
but will never be unregistered via TransactionContext.removeSession(Session).
> In a standalone environment, the TransactionContext is owned by the Session. So, a Session
does not need to be removed from the TransactionContext. Their lifetimes are the same. 
> In a ManagedConnection environment, a TransactionContext is created for the ActiveMQManagedConnection.
An RATransactionContext is generated for each new Session. This RATransactionContext will
proxy any Session registrations to the ManagedConnection TransactionContext. So, each new
Session will be registered with the ManagedConnection TransactionContext, but never removed.
> The above is from my reading of the code. I don't currently have an environment where
I can directly test this. Hope to have some empirical results, tomorrow.
> The obvious fix is to add the following to ActiveMQSession.doClose():
>     this.transactionContext.removeSession(this);
> I'll post a patch. Let me know if I'm missing something...

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


Mime
View raw message