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
