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