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 [email protected]?
Andy
thanks
Simon