On 27/01/13 12:40, Emilio Miguelanez wrote:
Thanks Andy.
On 27 Jan 2013, at 11:30, Andy Seaborne wrote:
On 26/01/13 23:29, Emilio Miguelanez wrote:
Hi,
I have build an application with a TDB storage, using version
0.8.10,which has now a considerable size (>1Gb) after it has been
running for some time.
However, recently I have facing some errors, detailed as
com.hp.hpl.jena.tdb.base.StorageException: RecordRangeIterator:
records not strictly increasing:
0000000006d00261000000000000021c0000000006cfff69 //
0000000006b861a3000000000005233d00000000015a78b5
I don't know what has caused this error, but I suspect that the
storage (and data) is now corrupted somehow.
Correct.
And it happened at some time in the past - this is the point of
detecting the situation, not the cause (e.g. abrupt shutdown).
Yes, I suspect that it was sudden shutdown of the server, not
allowing a safe shutdown of the server.
After reading the mailing lists, this error has already been
reported (https://issues.apache.org/jira/browse/JENA-301) and
fixed in the latest version of the TDB (0.9.4), which I'll start
using right away.
However, I really need to fix my existing TDB storage. Any ideas
how I can fix it?
This is tricky. You need to find a way to force it to use a
different index to get all the data out so you can rebuild the
database. It would be better if you have the original data or a
backup.
Would it help if I generate the database with the original data? Then
could I merge the current bulk of the data into the new database
(using the indexing)?
What is the query provoking this?
select ?agent ?job where{?agent
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<file:///etc/recovery/models/flow/.node-server/model-turbine-e4.json/seed/core.owl#Agent>
. OPTIONAL{ ?agent
<file:///etc/recovery/models/flow/.node-server/model-turbine-e4.json/seed/core.owl#hasJob>
?job }}
If select * {
?agent
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<file:///etc/recovery/models/flow/.node-server/model-turbine-e4.json/seed/core.owl#Agent>
}
works, it may be your lucky day. The SPO index is intact so tdbdump
will work. Maybe.
If you have the original data, then rebuilding is much safer. There may
be other problems not yet encountered.
Andy
Cheers, Emilio
Andy
Regards, Emilio
-- Emilio Migueláñez Martín [email protected]
-- Emilio Migueláñez Martín [email protected]