openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "brian yoder (JIRA)" <>
Subject [jira] Commented: (OPENJPA-1161) Identified MemoryLeak in MappingRepository
Date Tue, 07 Jul 2009 23:33:15 GMT


brian yoder commented on OPENJPA-1161:

After narrowing in on the exact code it seems the following code is the cause:

EntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory(...);

But when emf is GC (or no longer reachable) it doesn't clean up after itself.  I tried to
call emf.close() and set to NULL, but still there are all the mappings (MappingRepository)
created for the emf.

I would think that when the finalize method is called for EntityManagerFactory it should clean
up after itself, since when there would be no point in having cache maintained after the emf
is no longer reachable.

I was using IBM WebSphere that uses the ""
implementation, and after reviewing the java histogram when the out of memory error occured
I found that the EntityManagerFactoryImpl objects were GC (since there was only 16), however
the MappingRepository was stuck at 2846.

Object Histogram:

Size	Count	Class description
384	16
409824	2846	org.apache.openjpa.jdbc.meta.MappingRepository

I can provide more information if needed, but I can tell you there are other developers that
are having the same issue, the only work arround is to create a single EntityManagerFactory
instance per JVM (or classloader) - since there seems to be no way to manually clean them

> Identified MemoryLeak in MappingRepository
> ------------------------------------------
>                 Key: OPENJPA-1161
>                 URL:
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.0.4
>            Reporter: brian yoder
>         Attachments: screenshot-1.jpg
> After a lot of testing I have reproduced a specific scenario where the MappingRepository
instances grow, and eventually an OutOfMemory error will occur.  There have been other reports
of this occuring, but no response from Apache yet, so I am opening a new bug.  I will attach
the code wich causes the issue, and a screen shot of the memory leaking classes.
> Note: This may be related to OPENJPA-746

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

View raw message