Hi, that issue is not really related to solr. See this: http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error
Increasing maxpermsize -XX:MaxPermSize=128m does not really solve this issue but you will see less errros :-) I have written a mini monitor app which I am executing before reloading to make sure I have enough permgensize. But you can see the current permgensize usage easily e.g. with jvisualvm. Regards, Peter. > Hi guys > > I'm facing an error in our production environment with our search > application based on maven with spring + solrj. > > When I try to change a class, or try to redeploy/restart an > application, I catch a java.lang.OutOfMemoryError: PermGen > > I've tryed to understand the cause of this and also I've succeded in > reproducing this issue on my local develop environment by just > restarting the jetty several time (I'm using eclipse + maven plugin). > > The logs obtained are those: > > [...] > 1078 [Timer-1] INFO org.apache.solr.core.RequestHandlers - created > /admin/: org.apache.solr.handler.admin.AdminHandlers > 1078 [Timer-1] INFO org.apache.solr.core.RequestHandlers - created > /admin/ping: PingRequestHandler > 1078 [Timer-1] INFO org.apache.solr.core.RequestHandlers - created > /debug/dump: solr.DumpRequestHandler > 32656 [Finalizer] INFO org.apache.solr.core.SolrCore - [] CLOSING > SolrCore org.apache.solr.core.solrc...@1409c28 > 17:43:19 ERROR InvertedIndexEngine:124 open - > java.lang.OutOfMemoryError: PermGen space > java.lang.RuntimeException: java.lang.OutOfMemoryError: PermGen space > at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1068) > at org.apache.solr.core.SolrCore.<init>(SolrCore.java:579) > at > > org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137) > > at > > com.intellisemantic.intellifacet.resource.invertedIndex.InvertedIndexEngine.open(InvertedIndexEngine.java:113) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536) > > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) > > at > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409) > > [...] > > The exception is always thrown while solr init is performed after a > restart (this is the reason why I'm asking your support ;) ) > > It seems that while solr is trying to be set up (by [Timer-1]), > another thread ([Finalizer]) is trying to close it. I can see from the > Solr code that this exception is thrown always in the same place: > SolrCore.java:1068. > Here there is a comment that say: > > // need to close the searcher here??? we shouldn't have to. > throw new RuntimeException(th); > } finally { > if (newestSearcher != null) { > newestSearcher.decref(); > } > } > > I'm using slorj lib in a Spring container, so I'm supposing that > Spring will manage the relase of all the singleton classes. Should I > do something other like force closing solr? > > Thanks in advance for your support. > > Best regards > > Antonio > -- http://jetwick.com new twitter search prototype