You probably want to add the following command line option to java to produce a heap dump:
-XX:+HeapDumpOnOutOfMemoryError Then you can use jhat to see what's taking up all the space in the heap. Bill On Thu, Oct 1, 2009 at 11:47 AM, Mark Miller <markrmil...@gmail.com> wrote: > Jeff Newburn wrote: > > I am trying to update to the newest version of solr from trunk as of May > > 5th. I updated and compiled from trunk as of yesterday (09/30/2009). > When > > I try to do a full import I am receiving a GC heap error after changing > > nothing in the configuration files. Why would this happen in the most > > recent versions but not in the version from a few months ago. > Good question. The error means its spending too much time trying to > garbage collect without making much progress. > Why so much more garbage to collect just by updating? Not sure... > > > The stack > > trace is below. > > > > Oct 1, 2009 8:34:32 AM > org.apache.solr.update.processor.LogUpdateProcessor > > finish > > INFO: {add=[166400, 166608, 166698, 166800, 166811, 167097, 167316, > 167353, > > ...(83 more)]} 0 35991 > > Oct 1, 2009 8:34:32 AM org.apache.solr.common.SolrException log > > SEVERE: java.lang.OutOfMemoryError: GC overhead limit exceeded > > at java.util.Arrays.copyOfRange(Arrays.java:3209) > > at java.lang.String.<init>(String.java:215) > > at com.ctc.wstx.util.TextBuffer.contentsAsString(TextBuffer.java:384) > > at > com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:821) > > at org.apache.solr.handler.XMLLoader.readDoc(XMLLoader.java:280) > > at > org.apache.solr.handler.XMLLoader.processUpdate(XMLLoader.java:139) > > at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:69) > > at > > > org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentSt > > reamHandlerBase.java:54) > > at > > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase. > > java:131) > > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) > > at > > > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:3 > > 38) > > at > > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java: > > 241) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > > FilterChain.java:235) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:206) > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > > va:233) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > > va:175) > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128 > > ) > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 > > ) > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > > :109) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > > > org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java: > > 879) > > at > > > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(H > > ttp11NioProtocol.java:719) > > at > > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java: > > 2080) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja > > va:886) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9 > > 08) > > at java.lang.Thread.run(Thread.java:619) > > > > Oct 1, 2009 8:40:06 AM org.apache.solr.core.SolrCore execute > > INFO: [zeta-main] webapp=/solr path=/update params={} status=500 > QTime=5265 > > Oct 1, 2009 8:40:12 AM org.apache.solr.common.SolrException log > > SEVERE: java.lang.OutOfMemoryError: GC overhead limit exceeded > > > > > > > -- > - Mark > > http://www.lucidimagination.com > > > >