Leigh Dodds created JENA-550:
--------------------------------
Summary: "Impossibly Large Object" exception with command-line
indexing
Key: JENA-550
URL: https://issues.apache.org/jira/browse/JENA-550
Project: Apache Jena
Issue Type: Bug
Components: TDB
Reporter: Leigh Dodds
Priority: Minor
I have a script that calls tdbloader2 to create TDB indexes then the new Lucene
text indexer to create indexes.
The first step completed successfully and then whilst the text indexer was
running I got the following stack trace:
ERROR
ObjectFileStorage.read[nodes](21694280)[filesize=32753969][file.size()=32753969]:
Impossibly large object : 1668246831 bytes > filesize-(loc+SizeOfInt)=11059685
com.hp.hpl.jena.tdb.base.file.FileException:
ObjectFileStorage.read[nodes](21694280)[filesize=32753969][file.size()=32753969]:
Impossibly large object : 1668246831 bytes > filesize-(loc+SizeOfInt)=11059685
at
com.hp.hpl.jena.tdb.base.objectfile.ObjectFileStorage.read(ObjectFileStorage.java:346)
at com.hp.hpl.jena.tdb.lib.NodeLib.fetchDecode(NodeLib.java:78)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative.readNodeFromTable(NodeTableNative.java:178)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative._retrieveNodeByNodeId(NodeTableNative.java:103)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableNative.getNodeForNodeId(NodeTableNative.java:74)
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.lib.TupleLib.quad(TupleLib.java:161)
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.apache.jena.atlas.iterator.Iter$4.next(Iter.java:317)
at
org.apache.jena.atlas.iterator.IteratorCons.next(IteratorCons.java:97)
at jena.textindexer.exec(textindexer.java:125)
at arq.cmdline.CmdMain.mainMethod(CmdMain.java:101)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
at jena.textindexer.main(textindexer.java:55)
No other code is touching the database, so I'm not clear how the node table
could have gotten corrupted.
During a previous run of the script I got an exception because of an invalid
URI:
org.apache.jena.riot.RiotException: [line: 2, col: 110] illegal escape sequence
value: , (0x2C)
at
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:132)
I'm wondering whether this exception might have been the cause of the
corruption?
Deleting the index directories and re-running fixed the issue
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira