jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-1216) Unreferenced sessions should get garbage collected
Date Thu, 12 Mar 2009 11:02:52 GMT

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

Jukka Zitting updated JCR-1216:

    Fix Version/s:     (was: 1.6.0)

OK, seems reasonable. Scheduling this for inclusion in 1.5.5 (not in 1.5.4 to avoid introducing
extra changes there).

Is there some way we could have a reliable test case for this? I know garbage collection is
a bit tricky to test for.

> Unreferenced sessions should get garbage collected
> --------------------------------------------------
>                 Key: JCR-1216
>                 URL: https://issues.apache.org/jira/browse/JCR-1216
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>             Fix For: 1.5.5
>         Attachments: referencePatch.txt, softReferencePatch.txt, userSessionPatch.txt,
> If an application opens many sessions and doesn't close them, they are never garbage
collected. After some time, the virtual machine will run out of memory. This code will run
out of memory after a few thousand logins:
> Repository rep = new TransientRepository();
> for (int i = 0; ; i++) {
>   rep.login(new SimpleCredentials("", new char[0]));
> }
> Using a finalizer to close SessionImpl doesn't work, because it seems there are references
from the (hard referenced part of the cache) to the SessionImpl objects. Maybe it is possible
to remove those references, or change them to weak references.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message