Hey Max, Thanks for your reply! I tried to install the eclipse memory profiler (TPTP -- http://www.eclipse.org/tptp/home/downloads/installguide/InstallGuide42.html#install_update_manager) but for whatever reason there seems to be a conflict with the Google Eclipse plugin because now there's no sign of the Google plugins in my eclipse install.
I see that the Google plugin and the GWT/GAE plugins are installed (in the installed software window), but I can't access these at all, either from the button menus or the configuration menus. It's as if Eclipse now things my projects is a regular JavaEE project instead of being a Google Plugin project. The Google plugin config menus don't show up in any context menus, or in the project config menus. I'm currently reverting my eclipse configuration to see if I can restore things. Meanwhile, can you recommend a good memory profiler that I could use with the GAE/Google plugin? Thanks! david On Mar 12, 9:37 pm, "Max Ross (Google)" <[email protected]> wrote: > Thanks for the report David, this certainly seems suspicious. There is at > least one memory leak I'm aware of but it's related to transactions so > that's probably not what you're bumping into. Have you tried taking a heap > dump to see what exactly is building up? > > > > On Fri, Mar 12, 2010 at 1:27 PM, David Fuelling <[email protected]> wrote: > > I have a JUnit test class that is attempting to test some JPA > > datastore "create" operations, and I'm getting results that *seem* to > > indicate a memory leak in the EntityManagerFactory (?) Basically, if > > I use "test1a" (see below), the heap in use by the JUnit test process > > continually increases until the JUnit test fails with an OutOfMemory > > error. Test1b suffers from no such problem. > > > I would not expect this type of behavior from test1a because even > > though I'm creating a new EntityManager upon every for-loop iteration, > > that "em" should go away after every for-loop iteration since the > > variable reference is replaced with a new EntityManager each time. > > > Now, one might argue that my test is just going too fast, and the GC > > isn't getting a chance to Garbage Collect. However, Test1a takes a > > pretty long time to execute on my machine (> 120 seconds), so I > > *should* be getting some GC, right? Unless the EntityManagerFactory > > is holding onto a reference to each created EntityManager? > > > Any input here would be much appreciated... > > > Thanks! > > > david > > > ps - my "UserImpl" is a standard JPA entity. > > > /////////////////////////////// > > //Begin JUnit Test #1a > > /////////////////////////////// > > > User user = null; > > EntityManager em = null; > > for (int i = 0; i < 5000; i++) > > { > > //See how I get an em here: > > >http://code.google.com/appengine/docs/java/datastore/usingjpa.html#Ge... > > em = EMF.get().createEntityManager(); > > user = new UserImpl("test" + i); > > em.persist(user); > > em.close(); > > } > > > /////////////////////////////// > > //End Test #1b > > /////////////////////////////// > > > /////////////////////////////// > > //Begin JUnit Test #1b > > /////////////////////////////// > > > User user = null; > > EntityManager em = EMF.get().createEntityManager(); > > for(int i = 0; i < 5000; i++) > > { > > user = new UserImpl("test" + i); > > em.persist(user); > > } > > em.close(); > > > /////////////////////////////// > > //End Test #1b > > /////////////////////////////// > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" group. > > To post to this group, send email to > > [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<google-appengine-java%2B > > [email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
