You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-user@incubator.apache.org by Harold Rosenberg <hr...@vmware.com> on 2010/03/26 20:19:33 UTC

Memory leak in Olio/Java?

I have been doing some testing with the Java version of Olio (on Glassfish v3), and have noticed that there appears to be a memory leak in the application.  I never seem to run into an out-of-memory exception (although I may not have run long enough), but if I watch the heap with visualgc, I can see that the tenured generation slowly fills up, and when a full gc occurs very little space is freed.  If I run long enough, the tenured generation gets entirely full and the application spends all of its time in gc.

At first I thought that this was due to running with the MapCache.  However the same thing happens even if I disable caching.  From looking at a heap dump, it appears that it is possible that eclipselink may be holding on to references to every object that it creates, although I'm not sure that I understand what is happening well enough to be sure.

Has anyone else seen this?  I would like to be able to run for a long time, and this effectively prevents that from working.  Any ideas on how to fix this?

Thanks,

Hal Rosenberg


Re: Memory leak in Olio/Java?

Posted by Kim LiChong <Ki...@Sun.COM>.
Hi Harold,

How long do you run for before observing these symptoms? I haven't done 
any long runs with v3 but with v2, I did not observe this behavior 
(although we did not run for longer than 20 minutes).
You might want to check with the eclipselink community to see if there 
is a known bug for this issue.

Kim
>
> I have been doing some testing with the Java version of Olio (on 
> Glassfish v3), and have noticed that there appears to be a memory leak 
> in the application. I never seem to run into an out-of-memory 
> exception (although I may not have run long enough), but if I watch 
> the heap with visualgc, I can see that the tenured generation slowly 
> fills up, and when a full gc occurs very little space is freed. If I 
> run long enough, the tenured generation gets entirely full and the 
> application spends all of its time in gc.
>
> At first I thought that this was due to running with the MapCache. 
> However the same thing happens even if I disable caching. From looking 
> at a heap dump, it appears that it is possible that eclipselink may be 
> holding on to references to every object that it creates, although I’m 
> not sure that I understand what is happening well enough to be sure.
>
> Has anyone else seen this? I would like to be able to run for a long 
> time, and this effectively prevents that from working. Any ideas on 
> how to fix this?
>
> Thanks,
>
> Hal Rosenberg
>