Andy
Thanks once again for your help and advice.
Yes, this question relates to the same data as my previous question. I had
already deleted the faulty DB and reverted to a clean backup copy, so can't
send you the nodes.dat file, but if it happens again, I'll keep a copy.
The problems have occurred when I have been loading the same .ttl file. I'll
email you a copy of that in case it helps. I think everything in it is ASCII,
but not impossible that somewhere in it there is 2-or-more char Unicode.
tdbrecovery sounds useful - I had assumed that stopping fuseki (via
/etc/init.d) would 'clear up' but sounds like not necessarily. Can't see any
docs on tdbrecovery. How should i use that? With a --loc={path to tdb dir} ?
Will set up some newer versions. Since my first and second posts to the list,
I upgraded to:
fuseki:
Jena: VERSION: 2.7.0-incubating
Jena: BUILD_DATE: 2011-12-14T14:54:09+0000
ARQ: VERSION: 2.9.0-incubating
ARQ: BUILD_DATE: 2011-12-14T15:04:27+0000
TDB: VERSION: 0.9.0-incubating
TDB: BUILD_DATE: 2012-02-29T19:39:52+0000
Fuseki: VERSION: 0.2.1-incubating
Fuseki: BUILD_DATE: 2012-03-16T15:08:53+0000
and tdbloader:
Jena: VERSION: 2.7.0-incubating
Jena: BUILD_DATE: 2011-12-14T14:54:09+0000
ARQ: VERSION: 2.9.0-incubating
ARQ: BUILD_DATE: 2011-12-14T15:04:27+0000
TDB: VERSION: 0.9.0-incubating
TDB: BUILD_DATE: 2012-02-29T19:39:52+0000
Thanks
Bill
On 29 Mar 2012, at 16:54, Andy Seaborne wrote:
> 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