On 16/02/15 12:00, Michael Brunnbauer wrote:
re
thanks Rob and Andy - that makes sense!
What is a bit strange is that the query takes so long. It consists of ca. 1200
subselects - each defining a separate binding with a simple query of the
form { graph ?g { ?s ?g <uri> }}. Like this:
{ select (count(*) as ?s1091) where { graph ?g { ?s ?p
<http://dbpedia.org/resource/Thomas_Mills_Wood>. } }}
{ select (count(*) as ?s1092) where { graph ?g { ?s ?p
<http://dbpedia.org/resource/John_Wood_(explorer)>. } }}
{ select (count(*) as ?s1093) where { graph ?g { ?s ?p
<http://sws.geonames.org/2633653/>. } }}
There are not many named graphs (ca. 7000) and not many triples that would
match (I guess < 200). Do you think it would be faster to make 1200 separate
queries instead?
That's a cross-product (of one item) for what is essential a bunch of
separate queries. I'd look at the optimized algebra to see what execute
plan it decided on.
And a stream of queries is worth trying out.
Andy
Regards,
Michael Brunnbauer
On Mon, Feb 16, 2015 at 11:39:20AM +0000, Rob Vesse wrote:
Michael
The error is coming from Jetty, it simply means that one end of the
connection was closed. I assume you see this in the Fuseki log?
Most likely your client is timing out and closing the connection since 15
minutes for a query to complete is longer than the default timeouts of
most browsers and HTTP clients/API.
Try upping the timeout significantly in your client/browser/API to
something higher than the expected runtime of the query.
Rob
On 16/02/2015 11:01, "Michael Brunnbauer" <[email protected]> wrote:
hi all,
I see this Exception with a very big SPARQL select query (182825 bytes)
on a TDB with jena-fuseki-1.0.2-20140315.080253-36. After an upgrade to
jena-fuseki-1.1.1, the problem is still there. The query used to work
before
but took very long (ca. 900s).
What does the error mean? Is my TDB corrupted?
02:50:58 INFO [1] exec/select
org.eclipse.jetty.io.EofException
at
org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:914)
at
org.eclipse.jetty.http.AbstractGenerator.flush(AbstractGenerator.java:443)
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:100)
at
org.eclipse.jetty.server.AbstractHttpConnection$Output.flush(AbstractHttpC
onnection.java:1123)
at
org.apache.jena.fuseki.servlets.ResponseResultSet.output(ResponseResultSet
.java:303)
at
org.apache.jena.fuseki.servlets.ResponseResultSet.textOutput(ResponseResul
tSet.java:249)
at
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet$(Res
ponseResultSet.java:148)
at
org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet(Resp
onseResultSet.java:89)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.sendResults(SPARQL_Query.java
:345)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:242
)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.executeWithParameter(SPARQL_Q
uery.java:195)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:96)
at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeLifecycle(SPARQL
_ServletBase.java:171)
at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeAction(SPARQL_Se
rvletBase.java:152)
at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.execCommonWorker(SPARQL
_ServletBase.java:140)
at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Servlet
Base.java:69)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.doPost(SPARQL_Query.java:57)
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$CachedChain.doFilter(ServletHandl
er.java:1496)
at
org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:8
2)
at
org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandl
er.java:1467)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.ja
va:229)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.ja
va:1086)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.jav
a:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.jav
a:1020)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:1
35)
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(AbstractHttp
Connection.java:494)
at
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnec
tion.java:982)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(Abs
tractHttpConnection.java:1043)
at
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.ja
va:82)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoin
t.java:667)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint
.java:52)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.jav
a:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java
:543)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:51)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
at
org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:293)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint
.java:401)
at
org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:850)
... 43 more
02:51:01 ERROR Internal error
java.lang.IllegalStateException: Committed
at
org.eclipse.jetty.server.Response.resetBuffer(Response.java:1154)
at org.eclipse.jetty.server.Response.sendError(Response.java:317)
at org.eclipse.jetty.server.Response.sendError(Response.java:419)
at
javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletRespons
eWrapper.java:164)
at
org.apache.jena.fuseki.servlets.HttpServletResponseTracker.sendError(HttpS
ervletResponseTracker.java:53)
at
org.apache.jena.fuseki.servlets.ServletBase.responseSendError(ServletBase.
java:73)
at
org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Servlet
Base.java:82)
at
org.apache.jena.fuseki.servlets.SPARQL_Query.doPost(SPARQL_Query.java:57)
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$CachedChain.doFilter(ServletHandl
er.java:1496)
at
org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:8
2)
at
org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandl
er.java:1467)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.ja
va:229)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.ja
va:1086)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.jav
a:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.jav
a:1020)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:1
35)
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(AbstractHttp
Connection.java:494)
at
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnec
tion.java:982)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(Abs
tractHttpConnection.java:1043)
at
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.ja
va:82)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoin
t.java:667)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint
.java:52)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.jav
a:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java
:543)
at java.lang.Thread.run(Thread.java:745)
Regards,
Michael Brunnbauer
--
++ Michael Brunnbauer
++ netEstate GmbH
++ Geisenhausener Straße 11a
++ 81379 München
++ Tel +49 89 32 19 77 80
++ Fax +49 89 32 19 77 89
++ E-Mail [email protected]
++ http://www.netestate.de/
++
++ Sitz: München, HRB Nr.142452 (Handelsregister B München)
++ USt-IdNr. DE221033342
++ Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer
++ Prokurist: Dipl. Kfm. (Univ.) Markus Hendel