[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-1786) JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap

Lakshmi (JIRA) noreply at atlassian.com
Tue May 27 09:32:33 EDT 2008


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lakshmi updated HHH-1786:
-------------------------

    Attachment: screenshot-2.jpg

Tested with the JTASessionContext patch on 3.2.5ga and it works as expected. Thanks for the patch. Sessions are cleared from currentSessionMap on transaction completion. This is high priority bug for us as we are unable to run the application (hibernate 3.2.5 + WAS 6.0.2.21 + CMT) for 5 hour performance run continuously without the patch. Migrating to 3.3.0CR1 did not fix the issue.  

> JTASessionContext.CleanupSynch does not remove sessions from currentSessionMap
> ------------------------------------------------------------------------------
>
>                 Key: HHH-1786
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1786
>             Project: Hibernate3
>          Issue Type: Improvement
>    Affects Versions: 3.1.2
>         Environment: IBM WebSphere 6.0.2.7, Hibernate CVS snapshot from 2006-02-24
>            Reporter: Tomi Szabo
>            Assignee: Steve Ebersole
>             Fix For: 3.3.0.CR1
>
>         Attachments: JTASessionContext.java, screenshot-1.jpg, screenshot-2.jpg, WebSphereExtendedJTATransactionLookup.java, WebSphereExtendedJTATransactionLookup.patch.txt
>
>
> We are using JTASessionContext, CMTTransaction and WebSphereExtendedJTATransactionLookup. We have experienced some memmory leak problems and after closer inspection we have found that Hibernate sessions are not removed from currentSessionMap inside JTASessionContext.
> Method JTASessionContext.CleanupSynch.afterCompletion() is called as expected but code "context.currentSessionMap.remove( txn );" does not remove session from Map because of key's hashcode has changed. This is due to fact that com.ibm.websphere.jtaextensions.ExtendedJTATransaction.hashCode is actually ID of underlaying transaction. But if it comes to the afterCompletion method in CleanupSynch the underlaying transaction is already closed. Closed transaction has ID 0 (default value) and it is different from ID under which the Hibernate session was previously inserted into Map.
> Possible patch is in attachements.

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

        



More information about the hibernate-issues mailing list