Rebuilding search index causing instability

Poster Content
nk4um Moderator
Posts: 568
February 19, 2013 18:43

I've just done some analysis and I can see that the memory is very tight to perform the re-index in 128Mb however it appears to be working as expected. The message "GC overhead limit exceeded" that you received indicates that it wasn't running out of heap so much as heap being very tight so that attempting to GC was taking up too much of the processing time.

So yes, I think you are right. We should update the default max heap size out-of-the-box to be larger.

Cheers, Tony

Like · Post Reply
nk4um User
Posts: 7
February 19, 2013 12:02Increase Heap size

Tony

it worked. In fact out of the box the heap is at 128MB. Perhaps best to change this for newcomers.

Thx

Rene

Like · Post Reply
nk4um Moderator
Posts: 568
February 19, 2013 10:41

Hi Rene,

the underlying cause of what you are seeing is an "out of memory" OOM exception. The reindex process scans through all the documentation and other indexable items and I suspect that this has been slowly growing in size over the last year or so.

What we probably need to do is take a look and this and see if we need to increase the default heap size, or if there is something we can do to reduce memory usage whilst it is processing. I'll make a note to take a look at this so thanks for reporting the issue.

In the meantime you can work around the issue by increasing your maximum heap size. To do this edit the file [nkinstall]/bin/jvmsettings.cnf and change -Xmx196m to -Xmx256m to change the maximum heap from 196Mb to 256Mb.

Let me know if this helps, Tony

Like · Post Reply
nk4um User
Posts: 7
February 19, 2013 08:37Rebuilding search index causing instability

Hi Tony I have installed NKSE on Windows 8, 64 bit Java 1.7.0-13. After rebuilding the search index I get the following problems . I have allready seen the same problems on other pc's, but this is a new one , so first installation of netkernel . Do you have an idea on the cause of the problem

Rene (log) 2013-02-19 09:26:07 RequestState Unrecoverable kernel error: <ex>

<ex>
 <id>RequestFrameError</id>
 <request>SOURCE res:/doc/source/doc:tutorial:basics:module:create as String</request>
</ex>
<ex>
 <id>SubrequestError</id>
 <space>Book Application (private)</space>
 <endpointId>app:doc:source</endpointId>
 <endpoint>org.netkernel.module.standard.builtin.mapper.MapperOverlay</endpoint>
</ex>
<ex>
 <id>RequestFrameError</id>
 <request>SOURCE active:groovy+id@doc%3Atutorial%3Abasics%3Amodule%3Acreate+operator@res%3A/org/netkernel/doc/book/docSource.gy as String</request>
</ex>
<ex>
 <id>java.lang.OutOfMemoryError</id>
 <message>GC overhead limit exceeded</message>
 <stack>
  <level>org.netkernel.request.impl.RequestFactory.createResolveRequest() line:267</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:53</level>
  <level>org.netkernel.module.standard.builtin.Import.onResolve() line:140</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>org.netkernel.layer0.util.SynchronousRequestor.synchronousRequest() line:60</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:55</level>
  <level>org.netkernel.module.standard.builtin.PrivateFilterEndpoint.onResolve() line:115</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>... 22 more</level>
 </stack>
</ex>

</ex>

at org.netkernel.scheduler.RequestState.setExceptionResponse(RequestState.java:290)
at org.netkernel.scheduler.RequestState.setExceptionResponse(RequestState.java:271)
at org.netkernel.scheduler.RequestState.unhandledException(RequestState.java:478)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:434)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequest(NKFContextImpl.java:424)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.source(NKFContextImpl.java:582)
at org.netkernel.doc.endpoint.DocSearchIndexEndpoint.onSource(DocSearchIndexEndpoint.java:117)
at org.netkernel.module.standard.endpoint.StandardAccessorImpl.onRequest(StandardAccessorImpl.java:222)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.layer1.endpoint.WormholeAccessor.onSource(WormholeAccessor.java:51)
at org.netkernel.module.standard.endpoint.StandardAccessorImpl.onRequest(StandardAccessorImpl.java:222)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequest(NKFContextImpl.java:424)
at org.netkernel.nkse.search.endpoint.SearchIndexAccessor.onSource(SearchIndexAccessor.java:45)
at org.netkernel.module.standard.endpoint.StandardAccessorImpl.onRequest(StandardAccessorImpl.java:222)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequest(NKFContextImpl.java:424)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.source(NKFContextImpl.java:577)
at org.netkernel.layer0.nkf.INKFRequestContext$source.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at script1361262291242516165897.run(script1361262291242516165897.groovy:4)
at org.netkernel.lang.groovy.endpoint.GroovyRuntime.onRequest(GroovyRuntime.java:37)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.module.standard.builtin.mapper.MapperConfig$Mapping.onRequest(MapperConfig.java:489)
at org.netkernel.module.standard.builtin.mapper.MapperConfig.onRequest(MapperConfig.java:228)
at org.netkernel.module.standard.endpoint.ConfiguredOverlayImpl.onRequest(ConfiguredOverlayImpl.java:228)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.layer1.endpoint.ExceptionHandlerOverlay.onRequest(ExceptionHandlerOverlay.java:27)
at org.netkernel.module.standard.endpoint.TransparentOverlayImpl.onRequest(TransparentOverlayImpl.java:120)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.layer0.util.Utils.delegateRequestInto(Utils.java:388)
at org.netkernel.layer1.endpoint.DynamicImportEndpoint.onRequest(DynamicImportEndpoint.java:143)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.module.standard.builtin.PluggableOverlay$PluggableConfig.onRequest(PluggableOverlay.java:99)
at org.netkernel.module.standard.endpoint.ConfiguredOverlayImpl.onRequest(ConfiguredOverlayImpl.java:228)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.layer0.util.Utils.delegateRequestInto(Utils.java:388)
at org.netkernel.layer1.endpoint.DynamicImportEndpoint.onRequest(DynamicImportEndpoint.java:143)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.http.transport.HTTPBridgeOverlayConfig.onRequest(HTTPBridgeOverlayConfig.java:228)
at org.netkernel.module.standard.endpoint.ConfiguredOverlayImpl.onRequest(ConfiguredOverlayImpl.java:228)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousExternalRequest(Kernel.java:327)
at org.netkernel.layer0.nkf.impl.NKFTransportContextImpl.issueKernelRequest(NKFTransportContextImpl.java:25)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.http.transport.NetKernelHandler.handle(NetKernelHandler.java:77)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:348)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Unknown Source)

Caused by: <ex>

<ex>
 <id>SubrequestError</id>
 <space>Book Application (private)</space>
 <endpointId>app:doc:source</endpointId>
 <endpoint>org.netkernel.module.standard.builtin.mapper.MapperOverlay</endpoint>
</ex>
<ex>
 <id>RequestFrameError</id>
 <request>SOURCE active:groovy+id@doc%3Atutorial%3Abasics%3Amodule%3Acreate+operator@res%3A/org/netkernel/doc/book/docSource.gy as String</request>
</ex>
<ex>
 <id>java.lang.OutOfMemoryError</id>
 <message>GC overhead limit exceeded</message>
 <stack>
  <level>org.netkernel.request.impl.RequestFactory.createResolveRequest() line:267</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:53</level>
  <level>org.netkernel.module.standard.builtin.Import.onResolve() line:140</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>org.netkernel.layer0.util.SynchronousRequestor.synchronousRequest() line:60</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:55</level>
  <level>org.netkernel.module.standard.builtin.PrivateFilterEndpoint.onResolve() line:115</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>... 22 more</level>
 </stack>
</ex>

</ex>

at org.netkernel.scheduler.RequestState.unhandledException(RequestState.java:476)
... 107 more

Caused by: <ex>

<ex>
 <id>RequestFrameError</id>
 <request>SOURCE active:groovy+id@doc%3Atutorial%3Abasics%3Amodule%3Acreate+operator@res%3A/org/netkernel/doc/book/docSource.gy as String</request>
</ex>
<ex>
 <id>java.lang.OutOfMemoryError</id>
 <message>GC overhead limit exceeded</message>
 <stack>
  <level>org.netkernel.request.impl.RequestFactory.createResolveRequest() line:267</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:53</level>
  <level>org.netkernel.module.standard.builtin.Import.onResolve() line:140</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>org.netkernel.layer0.util.SynchronousRequestor.synchronousRequest() line:60</level>
  <level>org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution() line:55</level>
  <level>org.netkernel.module.standard.builtin.PrivateFilterEndpoint.onResolve() line:115</level>
  <level>org.netkernel.module.standard.StandardSpace.onResolve() line:293</level>
  <level>org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest() line:81</level>
  <level>... 22 more</level>
 </stack>
</ex>

</ex>

at org.netkernel.scheduler.RequestState.setExceptionResponse(RequestState.java:290)
at org.netkernel.scheduler.RequestState.setExceptionResponse(RequestState.java:271)
at org.netkernel.scheduler.RequestState.unhandledException(RequestState.java:484)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:434)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.module.standard.builtin.mapper.MapperConfig$Mapping.onRequest(MapperConfig.java:489)
at org.netkernel.module.standard.builtin.mapper.MapperConfig.onRequest(MapperConfig.java:228)
at org.netkernel.module.standard.endpoint.ConfiguredOverlayImpl.onRequest(ConfiguredOverlayImpl.java:228)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
... 106 more

Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

at org.netkernel.request.impl.RequestFactory.createResolveRequest(RequestFactory.java:267)
at org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution(NKFResolutionContextImpl.java:53)
at org.netkernel.module.standard.builtin.Import.onResolve(Import.java:140)
at org.netkernel.module.standard.StandardSpace.onResolve(StandardSpace.java:293)
at org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest(NKFCombinedEndpointSpaceImpl.java:81)
at org.netkernel.layer0.util.SynchronousRequestor.synchronousRequest(SynchronousRequestor.java:60)
at org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution(NKFResolutionContextImpl.java:55)
at org.netkernel.module.standard.builtin.PrivateFilterEndpoint.onResolve(PrivateFilterEndpoint.java:115)
at org.netkernel.module.standard.StandardSpace.onResolve(StandardSpace.java:293)
at org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest(NKFCombinedEndpointSpaceImpl.java:81)
at org.netkernel.layer0.util.SynchronousRequestor.synchronousRequest(SynchronousRequestor.java:60)
at org.netkernel.layer0.nkf.impl.NKFResolutionContextImpl.delegateResolution(NKFResolutionContextImpl.java:55)
at org.netkernel.module.standard.builtin.Import.onResolve(Import.java:140)
at org.netkernel.module.standard.StandardSpace.onResolve(StandardSpace.java:293)
at org.netkernel.layer0.nkf.impl.NKFCombinedEndpointSpaceImpl.onAsyncRequest(NKFCombinedEndpointSpaceImpl.java:81)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequestForResponse(NKFContextImpl.java:406)
at org.netkernel.module.standard.builtin.mapper.MapperConfig$Mapping.onRequest(MapperConfig.java:489)
at org.netkernel.module.standard.builtin.mapper.MapperConfig.onRequest(MapperConfig.java:228)
at org.netkernel.module.standard.endpoint.ConfiguredOverlayImpl.onRequest(ConfiguredOverlayImpl.java:228)
at org.netkernel.layer0.nkf.impl.NKFEndpointImpl.onAsyncRequest(NKFEndpointImpl.java:93)
at org.netkernel.scheduler.RequestState.processRequest(RequestState.java:404)
at org.netkernel.scheduler.Scheduler.synchronousRequest(Scheduler.java:246)
at org.netkernel.container.impl.Kernel.synchronousRequest(Kernel.java:308)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueKernelRequest(NKFContextImpl.java:501)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.issueRequest(NKFContextImpl.java:424)
at org.netkernel.layer0.nkf.impl.NKFContextImpl.source(NKFContextImpl.java:582)
at org.netkernel.doc.endpoint.DocSearchIndexEndpoint.onSource(DocSearchIndexEndpoint.java:117)
at org.netkernel.module.standard.endpoint.StandardAccessorImpl.onRequest(StandardAccessorImpl.java:222)

2013-02-19 09:26:07 RequestState Out of Memory heap space

2013-02-19 09:26:05 RequestState Out of Memory overhead limit exceeded

2013-02-19 09:24:52 SearchIndexAccessor Indexing System...

2013-02-19 09:23:43 ModuleListAccessor ModuleListAccessor complete

2013-02-19 09:23:34 InitEndpoint Init completed - system at RunLevel 7

2013-02-19 09:23:34 ModuleManager System now at RunLevel 7

Like · Post Reply