The update rates look to be around 40 updates per second (at least during 
catch-up, after restarting Fuseki. For regular processing, I’m seeing bursts of 
many such flurries of updates, at the same time I’m seeing perhaps a dozen 
queries.

Begin forwarded message:

> From: Mark Feblowitz <[email protected]>
> Subject: Jena/Fuseki/TDB Java heap space and OutOfMemory errors 
> Date: May 30, 2014 at 9:36:31 AM EDT
> To: "[email protected]" <[email protected]>
> 
> I have a setup where there can be many, rapid-fire updates sent to Jena TDB 
> via UPDATE posts to Fuseki.
> 
> After some amount of time I see a series of messages after update posts
> 
>       WARN  [xxxxxx] RC = 500 : Java heap space
> 
> And I’m seeing "java.lang.OutOfMemoryError: Java heap space”  errors.
> 
> I’ve bumped heap space to 3072M, on a machine that has 32 GB of memory.
> 
> Can this be dealt with, simply by doubling heap space? Or is there something 
> about how I’m posting that could be leading to the problem.
> 
> What I’m doing is creating an OntModel in the client, which then posts that 
> model as an update to Fuseki. Fuseki is configured with TDB and 
> OWLFBRuleReasoner.
> 
> As I mentioned in my prior posts on retries, there are flurries of posts to 
> Fuseki, and roughly concurrent queries - often on things that are in the 
> process of being posted. All of the posts come from a single client, while 
> the queries come from multiple queries initiated from separately run queries 
> (from separate JVMs). 
> 
> 
> Here’s a snippet of the console log after a series of other interactions and 
> errors. I’ll have to save out the entire log (but it will be huge) to 
> identify the circumstances of the first errors.
> 
> 
> 00:55:33 INFO  [79927] 500 Java heap space (5.393 s) 
> 00:55:39 INFO  [79929] POST http://localhost:3030/km4sp/update
> 00:55:43 WARN  [79929] RC = 500 : Java heap space
> java.lang.OutOfMemoryError: Java heap space
>        at 
> org.apache.jena.atlas.io.CharStreamBuffered.<init>(CharStreamBuffered
> .java:53)
>        at org.apache.jena.atlas.io.PeekReader.make(PeekReader.java:81)
>        at org.apache.jena.atlas.io.PeekReader.make(PeekReader.java:75)
>        at org.apache.jena.atlas.io.PeekReader.makeUTF8(PeekReader.java:92)
>        at com.hp.hpl.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:51)
>        at com.hp.hpl.jena.update.UpdateFactory.make(UpdateFactory.java:278)
>        at com.hp.hpl.jena.update.UpdateFactory.read(UpdateFactory.java:267)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j
> ava:228)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_Update.executeBody(SPARQL_Upda
> te.java:194)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j
> ava:106)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeLifecycle(S
> PARQL_ServletBase.java:171)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeAction(SPAR
> QL_ServletBase.java:152)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.execCommonWorker(S
> PARQL_ServletBase.java:140)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se
> rvletBase.java:69)
>        at 
> org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja
> va:81)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>        at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684
> )
>        at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
> :457)
>        at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
> er.java:229)
>        at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
> er.java:1075)
>        at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> 384)
>        at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
> r.java:193)
>        at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
> r.java:1009)
>        at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
> ava:135)
>        at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
> .java:116)
>        at org.eclipse.jetty.server.Server.handle(Server.java:370)
>        at 
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(Abstrac
> tHttpConnection.java:489)
>        at 
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(Blockin
> gHttpConnection.java:53)
>        at 
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpC
> onnection.java:960)
>        at 
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.conten
> t(AbstractHttpConnection.java:1021)
>        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
> 00:55:45 INFO  [79929] 500 Java heap space (5.597 s) 
> 00:55:51 INFO  [79930] POST http://localhost:3030/km4sp/update
> 00:56:59 INFO  [79928] exec/select
> 

Reply via email to