jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Przemo Pakulski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-395) Using transactions leads to memory leak
Date Thu, 13 Apr 2006 10:55:00 GMT
    [ http://issues.apache.org/jira/browse/JCR-395?page=comments#action_12374323 ] 

Przemo Pakulski commented on JCR-395:
-------------------------------------

After fix transactions doesn't work at all.

I'm not familiar with Jackrabbit code, but it looks that  'end' method is not good place to
clear TransactionContext, because it is stil needed by 'commit/rollback' methods. Probably
it should be done in 'commit/rollback' methods.


> Using transactions leads to memory leak
> ---------------------------------------
>
>          Key: JCR-395
>          URL: http://issues.apache.org/jira/browse/JCR-395
>      Project: Jackrabbit
>         Type: Bug

>   Components: transactions
>     Reporter: Przemo Pakulski
>     Assignee: Tobias Bocanegra
>      Fix For: 1.1

>
> There is global static map in XASessionImpl class which stores all Xids and TransactionContexts
>     /**
>      * Global transactions
>      */
>     private static final Map txGlobal = new HashMap();
> It looks like this map is never cleared, even after end of transaction. It leads to memory
leak because TransactionContexts and all nested objects (including XASessionImpl) are still
referenced and couldn't be freed.
> Proposed solution : Is it posssible to add just single line which will remove TransactionContext
from static map at the end of transaction ?
>       if (flags == TMSUCCESS || flags == TMFAIL) {
>             associate(null);
> -->       txGlobal.remove(xid);
>         } else  if (flags == TMSUSPEND) {
>             associate(null);
>         } else {
>             throw new XAException(XAException.XAER_INVAL);
>         }
> If this is not acceptable, then we have to unreference TransactionContext in another
way.

-- 
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