On 29/03/12 13:39, Bill Roberts wrote:
Hi there
Just experimenting with ways of loading data into Fuseki (now 0.2.1
distribution version from 16 March).
Have been loading some data with the HTTP graph protocol. Then stopped Fuseki
and loaded another graph using tdbloader (0.9.0). Then started fuseki. Trying
to access the data I loaded via tdbloader gave an exception:
Extract of stacktrace:
13:23:24 ERROR TDB ::
ObjectFileStorage.read[nodes.dat](314300772)[filesize=317885149][file.size()=317885149]:
Impossibly large object : 825376256 bytes> filesize-(loc+SizeOfInt)=3584373
13:23:24 ERROR BindingTDB :: get1(?ds)
com.hp.hpl.jena.tdb.base.file.FileException:
ObjectFileStorage.read[nodes.dat](314300772)[filesize=317885149][file.size()=317885149]:
Impossibly large object : 825376256 bytes> filesize-(loc+SizeOfInt)=3584373
at
com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage.read(ObjectFileStorage.java:319)
at com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:72)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeFromTable(NodeTableNative.java:176)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java:100)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java:71)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:103)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:74)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:55)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:67)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:55)
at com.hp.hpl.jena.tdb.solver.BindingTDB.get1(BindingTDB.java:123)
Am I doing something wrong here? Is there something unsafe about mixing
tdbloader and graph protocol loading?
No - it is safe to mix usages providing you let Fuseki stop at a quiet
point. There may be outstanding committed transactions that would
integrated on next Fuseki start-up.
(or run tdbrecovery -- that flushes the transaction log to the main
database).
The bulk loader on an existing database does not do anything special but
you must let it finish cleanly.
Is this related to the data from your last message?
Andy