You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2012/08/10 10:31:45 UTC
Re: Quad: subject cannot be null
On 09/08/12 20:38, Simon Helsen wrote:
> Hmmm, and now I ran into the following when I was simply trying to dump
> all the quads in a given index (for analysis):
>
> Caused by: java.lang.UnsupportedOperationException: Quad: subject cannot
> be null
There are no clues in the stacktrace.
A previous corrupted DB is possible.
null in the subject usually means a index has a NodeId but it is not in
the node table due to not flushing or an aborted operation/test of some
kind.
>
> at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:60)
> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:162)
> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:153)
> at com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:45)
> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:87)
> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:83)
> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:301)
> at
> org.openjena.atlas.iterator.IteratorCons.next(IteratorCons.java:94)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos
> tics.java:918)
What's this code?
It looks like it's your own iterator.
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos
> tics.java:1)
> at org.openjena.atlas.iterator.Iter.sendToSink(Iter.java:572)
> at org.openjena.riot.out.NQuadsWriter.write(NQuadsWriter.java:45)
> at org.openjena.riot.RiotWriter.writeNQuads(RiotWriter.java:46)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.internal.tdb.TdbRdfDiagnostics.d
> umpToFile(TdbRdfDiagnostics.java:220)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.execute(RdfDiagno
> stics.java:267)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.main(RdfDiagnosti
> cs.java:223)
> ... 5 more
>
> And unfortunately, this too was not reproducible, i.e. when I ran the dump
> operation again, things worked fine. In this particular case, I was
> working purely with non-tx (but 2.7.3).
>
> I'll see what I can find out further, but these are major instabilities
> compared to 2.7.1 which will prohibit our adoption of 2.7.3. So, we'll
> stick to 2.7.1 for now
I'll point out (again!) that pre-releases of code are always available
for testing.
Also, maybe use user@jena.apche.org?
Andy
>
> thanks
>
> Simon
Re: Quad: subject cannot be null
Posted by Simon Helsen <sh...@ca.ibm.com>.
The iterator is just a wrapper around Iterator<Quad> iter = ds.find(Node.
ANY, Node.ANY, Node.ANY, Node.ANY); which allows me to print progress
information to the console.
From:
Andy Seaborne <an...@apache.org>
To:
dev@jena.apache.org
Date:
08/10/2012 04:32 AM
Subject:
Re: Quad: subject cannot be null
On 09/08/12 20:38, Simon Helsen wrote:
> Hmmm, and now I ran into the following when I was simply trying to dump
> all the quads in a given index (for analysis):
>
> Caused by: java.lang.UnsupportedOperationException: Quad: subject cannot
> be null
There are no clues in the stacktrace.
A previous corrupted DB is possible.
null in the subject usually means a index has a NodeId but it is not in
the node table due to not flushing or an aborted operation/test of some
kind.
>
> at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:60)
> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:162)
> at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:153)
> at
com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:45)
> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:87)
> at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:83)
> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:301)
> at
> org.openjena.atlas.iterator.IteratorCons.next(IteratorCons.java:94)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos
> tics.java:918)
What's this code?
It looks like it's your own iterator.
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos
> tics.java:1)
> at org.openjena.atlas.iterator.Iter.sendToSink(Iter.java:572)
> at
org.openjena.riot.out.NQuadsWriter.write(NQuadsWriter.java:45)
> at org.openjena.riot.RiotWriter.writeNQuads(RiotWriter.java:46)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.internal.tdb.TdbRdfDiagnostics.d
> umpToFile(TdbRdfDiagnostics.java:220)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.execute(RdfDiagno
> stics.java:267)
> at
> com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.main(RdfDiagnosti
> cs.java:223)
> ... 5 more
>
> And unfortunately, this too was not reproducible, i.e. when I ran the
dump
> operation again, things worked fine. In this particular case, I was
> working purely with non-tx (but 2.7.3).
>
> I'll see what I can find out further, but these are major instabilities
> compared to 2.7.1 which will prohibit our adoption of 2.7.3. So, we'll
> stick to 2.7.1 for now
I'll point out (again!) that pre-releases of code are always available
for testing.
Also, maybe use user@jena.apche.org?
Andy
>
> thanks
>
> Simon