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
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)
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
thanks
Simon
From:
Simon Helsen/Toronto/IBM
To:
[email protected]
Date:
08/09/2012 12:43 PM
Subject:
Allocation attempt on NodeTableReadonly in 2.7.3
Hi,
I am currently testing out things internally with the just released 2.7.3
but I am running into some problems. One seems pretty low-level and is
worrysome. This is the exception:
Caused by: com.hp.hpl.jena.tdb.TDBException: Allocation attempt on
NodeTableReadonly
at
com.hp.hpl.jena.tdb.nodetable.NodeTableReadonly.getAllocateNodeId(
NodeTableReadonly.java:37)
at com.hp.hpl.jena.tdb.store.GraphNamedTDB.getGraphNodeId(
GraphNamedTDB.java:149)
at com.hp.hpl.jena.tdb.store.GraphNamedTDB.countThis(
GraphNamedTDB.java:124)
at com.hp.hpl.jena.tdb.store.GraphTDBBase.graphBaseSize(
GraphTDBBase.java:178)
at com.hp.hpl.jena.sparql.graph.GraphBase2.size(
GraphBase2.java:381)
at com.hp.hpl.jena.sparql.graph.GraphBase2.isEmpty(
GraphBase2.java:432)
at com.hp.hpl.jena.rdf.model.impl.ModelCom.isEmpty(
ModelCom.java:871)
at com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$8.run(
JenaTxTdbProvider.java:991)
at com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$8.run(
JenaTxTdbProvider.java:1)
at
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.storeOperation(
JenaTxTdbProvider.java:204)
... 56 more
Unfortunately, I can't seem to reliably reproduce it even though I am not
running any concurrent tests. Any idea who this kind of exception can
occur and what I can do to perhaps construct a test case?
none of this has been observed in 2.7.1 so it must be related to recent
changes
thanks
Simon