re
BTW: The graph http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf
was added to the TDB with Joseki-3.4.4. Perhaps datasets modified with
tdb-0.8.10 as in Joseki-3.4.4 are incompatible to tdb-0.8.8 as in Joseki-3.4.3?
cu,
brunni
On Thu, May 12, 2011 at 11:35:01AM +0200, Michael Brunnbauer wrote:
>
> re
>
> I think my TDB is broken now. I got a memory error on
>
> SELECT DISTINCT ?subj ?prop ?obj WHERE { GRAPH
> <http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf> { ?subj ?prop
> ?obj } }
>
> If I change -Xmx1G to -Xmx4G in bin/rdfserver, I do not get the memory error
> but lots of errors of this kind:
>
> 11:18:04 INFO SPARQL :: Query: SELECT DISTINCT ?subj ?prop
> ?obj W
> HERE { GRAPH <http://blogspace.com/swhack/chatlogs/rdflogs/2002-06-24.rdf> {
> ?subj ?prop ?obj } }
> 11:18:04 INFO SPARQL :: OK/select: SELECT DISTINCT ?subj ?prop
> ?obj WHERE { GRAPH <http://blogspace.com/swhack/chatlogs/rdfl
> ogs/2002-06-24.rdf> { ?subj ?prop ?obj } }
> 11:18:05 ERROR BindingTDB :: get1(?subj)
> com.hp.hpl.jena.tdb.base.file.FileException: ObjectFile.read: Failed to read
> the object (795439970 bytes) : got 149584 bytes
> at
> com.hp.hpl.jena.tdb.base.objectfile.ObjectFileDiskDirect.read(ObjectFileDiskDirect.java:182)
> at com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:66)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeByNodeId(NodeTableNative.java:158)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java:85)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java:58)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:86)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
> at com.hp.hpl.jena.tdb.solver.BindingTDB.get1(BindingTDB.java:96)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingBase.get(BindingBase.java:126)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingProject.get1(BindingProject.java:57)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingBase.get(BindingBase.java:126)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingWrapped.get(BindingWrapped.java:39)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingFixed.calcHashCode(BindingFixed.java:33)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingFixed.hashCode(BindingFixed.java:64)
> at java.util.HashMap.getEntry(HashMap.java:344)
> at java.util.HashMap.containsKey(HashMap.java:335)
> at java.util.HashSet.contains(HashSet.java:184)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterDistinct.isDuplicate(QueryIterDistinct.java:39)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterDistinctReduced.hasNextBinding(QueryIterDistinctReduced.java:39)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:28)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:28)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:57)
> at
> com.hp.hpl.jena.sparql.resultset.ResultSetMem.<init>(ResultSetMem.java:82)
> at
> com.hp.hpl.jena.sparql.resultset.TextOutput.write(TextOutput.java:133)
> at
> com.hp.hpl.jena.sparql.resultset.TextOutput.write(TextOutput.java:116)
> at
> com.hp.hpl.jena.sparql.resultset.TextOutput.write(TextOutput.java:104)
> at
> com.hp.hpl.jena.sparql.resultset.TextOutput.format(TextOutput.java:51)
> at
> com.hp.hpl.jena.query.ResultSetFormatter.out(ResultSetFormatter.java:96)
> at
> com.hp.hpl.jena.query.ResultSetFormatter.out(ResultSetFormatter.java:48)
> at org.joseki.http.ResponseHttp$3.output(ResponseHttp.java:349)
> at org.joseki.http.ResponseHttp.output(ResponseHttp.java:471)
> at org.joseki.http.ResponseHttp.textOutput(ResponseHttp.java:502)
> at
> org.joseki.http.ResponseHttp.doResponseResult(ResponseHttp.java:345)
> at
> org.joseki.http.ResponseHttp.doResponseResultSet(ResponseHttp.java:169)
> at org.joseki.Response.sendResponse(Response.java:87)
> at org.joseki.Dispatcher.dispatch(Dispatcher.java:60)
> at org.joseki.http.Servlet.doCommon(Servlet.java:178)
> at org.joseki.http.Servlet.doPost(Servlet.java:247)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.jetty.nio.BlockingChannelConnector$Connection.run(BlockingChannelConnector.java:164)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> 11:18:06 ERROR BindingTDB :: get1(?subj)
> com.hp.hpl.jena.tdb.base.file.FileException: ObjectFile.read: Failed to read
> the object (795439970 bytes) : got 149584 bytes
> at
> com.hp.hpl.jena.tdb.base.objectfile.ObjectFileDiskDirect.read(ObjectFileDiskDirect.java:182)
> at com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:66)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeByNodeId(NodeTableNative.java:158)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java:85)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java:58)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:86)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
> at
> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
> at com.hp.hpl.jena.tdb.solver.BindingTDB.get1(BindingTDB.java:96)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingBase.get(BindingBase.java:126)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingProject.get1(BindingProject.java:57)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingBase.get(BindingBase.java:126)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingWrapped.get(BindingWrapped.java:39)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingFixed.calcHashCode(BindingFixed.java:33)
> at
> com.hp.hpl.jena.sparql.engine.binding.BindingFixed.hashCode(BindingFixed.java:64)
> at java.util.HashMap.getEntry(HashMap.java:344)
> at java.util.HashMap.containsKey(HashMap.java:335)
> at java.util.HashSet.contains(HashSet.java:184)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterDistinct.isDuplicate(QueryIterDistinct.java:39)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterDistinctReduced.hasNextBinding(QueryIterDistinctReduced.java:39)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:28)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:28)
> at
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:66)
> at
> com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:57)
> [...]
>
> I have a recent backup of that TDB that has not been introduced to
> Joseki-3.4.4.
>
> cu,
> brunni
>
> On Thu, May 12, 2011 at 11:00:28AM +0200, Michael Brunnbauer wrote:
> >
> > re
> >
> > On Thu, May 12, 2011 at 09:46:13AM +0100, Andy Seaborne wrote:
> > > Your config file looks fine to me - two services over the same dataset.
> > > It's two services because SPARQL update and SPARQL query are different
> > > languages (and you can protect the update endpoint separately from the
> > > query endpoint - no injection attacks on the query service). It looks to
> > > me like a Joseki bug in the internal locking.
> >
> > I have downgraded to Joseki-3.4.3 and the problem is gone. Please contact me
> > if you need any cooperation to find the bug.
> >
> > cu,
> > brunni
> >
> > --
> > ++ 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
>
> --
> ++ 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
--
++ 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