Hi guys,

in one of our regular test runs, a multi-threaded test barfed once (but 
then not again and we have never seen it before even though we run these 
tests regularly). I am not sure if we accidentally bumped into a true tdb 
bug or whether we are doing something unsafe on our side. The exception 
occurred inside a read transaction while iterating over a ResultSet. You 
can assume that othe threads were also in read and/or write transactions.

I have no idea how to produce a test case to replicate this, so my 
starting question will be if anyone can give a broad explanation of the 
meaning of the exception. Our tests were running Jena 2.7.4.  I may open a 
Jira issue as well.

thanks

Simon

Caused by: com.hp.hpl.jena.tdb.base.StorageException: RecordRangeIterator: 
records not strictly increasing: 
00000000000000af000000000003e9f90000000000250aaa000000000024ea3d // 
00000000000000af000000000003e93700000000002792790000000000277240
        at 
com.hp.hpl.jena.tdb.base.recordbuffer.RecordRangeIterator.hasNext(RecordRangeIterator.java:124)
        at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:295)
        at 
com.hp.hpl.jena.tdb.sys.DatasetControlMRSW$IteratorCheckNotConcurrent.hasNext(DatasetControlMRSW.java:119)
        at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:181)
        at org.openjena.atlas.iterator.Iter$6.hasNext(Iter.java:386)
        at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:181)
        at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:295)
        at org.openjena.atlas.iterator.Iter$3.hasNext(Iter.java:181)
        at org.openjena.atlas.iterator.Iter.hasNext(Iter.java:825)
        at 
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:58)
        at 
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
        at 
org.openjena.atlas.iterator.RepeatApplyIterator.hasNext(RepeatApplyIterator.java:46)
        at org.openjena.atlas.iterator.Iter$4.hasNext(Iter.java:295)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterPlainWrapper.hasNextBinding(QueryIterPlainWrapper.java:54)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
        at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112)
        at 
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
        at 
com.ibm.team.jfs.rdf.internal.jena.InternalResultSet.retrieveAllBindings(InternalResultSet.java:47)
        at 
com.ibm.team.jfs.rdf.internal.jena.InternalResultSet.retrieveFirstPage(InternalResultSet.java:54)
        at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.renderSelect(JenaTxTdbProvider.java:1887)
        at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.performSelect(JenaTxTdbProvider.java:1611)
        at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$21.run(JenaTxTdbProvider.java:1757)
        at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider$21.run(JenaTxTdbProvider.java:1)
        at 
com.ibm.team.jfs.rdf.internal.jena.tdb.JenaTxTdbProvider.storeOperation(JenaTxTdbProvider.java:2208)
        ... 55 more

Reply via email to