[
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)
1.5.5
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, weakReferencePatch.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.