Antonio Calo' wrote:
 Il 02/09/2010 8.51, Lance Norskog ha scritto:
Loading a servlet creates a bunch of classes via reflection. These are
in PermGen and never go away. If you load&unload over and over again,
any PermGen setting will fill up.
I agree , taking a look to all the links suggested by Peter seems that this exception could be caused by the memory leak. Also, it seems that the CGLibe that manage the .class loading used by Spring have a big issue about this.
I looked into this about 6 months ago (with regards to this problem occurring with tomcat + spring, not jetty + solr) and found quite a bit of information on the Spring Community Forums. There was (at the time) no conclusive answer - it seemed CGLIB is used by just about everything (hibernate, AOP, tomcat, jetty) and that it has this latent defect. Spring developers were basically saying it is due to CGLIB and there was nothing that they were able to do about it.

In the end I switched to jetty (for quicker startup) and just accepted restarting after every handful of redeploys.

CGLIB mailing lists (http://cglib.sourceforge.net/mail-lists.html) might be a good place to start.

Maibe it is just an accident that it happens while opening a anew solr instance.

I'll investigate about general Permgem fault, but if someone have a suggestion on how to close solr server in a safe manner, you are welcome!
Many thanks for your feedbacks.

Antonio

Reply via email to