[
https://issues.apache.org/jira/browse/JENA-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13441958#comment-13441958
]
Andy Seaborne edited comment on JENA-301 at 8/27/12 9:52 PM:
-------------------------------------------------------------
Block file size tracking has two state variables - only one was begin reset
when a replayed journal wrote to the end or beyond the current end of the file.
The reason it shows up only for direct-mode second run is that a block is
written at the end, or beyond the end, of the file. In direct mode, that
extends the file; in mapped mode it goes into the allocated-but-unused segment
area due to segment rounding to 8M. It can occur in mapped mode but is much
less likely.
was (Author: andy.seaborne):
Block file size tracking has two state variables - only one was begin reset
when a replayed journal wrote to the end or beyond the current end of the file.
> RecordRangeIterator: records not strictly increasing
> ----------------------------------------------------
>
> Key: JENA-301
> URL: https://issues.apache.org/jira/browse/JENA-301
> Project: Apache Jena
> Issue Type: Bug
> Components: TDB
> Affects Versions: TDB 0.9.4
> Environment: windows 64 bit, oracle JRE 6
> Reporter: Simon Helsen
> Assignee: Andy Seaborne
> Attachments: PerformanceRegressionTest.java
>
>
> When I tried to execute the provided test case for JENA-256, I ran into a TDB
> Storage Exception. The scenario is like this
> 1) run the test application on a clean non-existing index. All should go
> well, i.e. not exceptions, tests finish fine
> 2) then run the test application again on the same index. You'll end up with
> the following stack trace at write operation 98:
> xception in thread "main" java.lang.RuntimeException:
> com.hp.hpl.jena.tdb.base.StorageException: RecordRangeIterator: records not
> strictly increasing:
> 00000000000020ba000000000000002400000000000001490000000000000ad3 //
> 00000000000008bc000000000000002400000000000001490000000000000271
> at
> com.ibm.jena.test.PerformanceRegressionTest.main(PerformanceRegressionTest.java:101)
> Caused by: com.hp.hpl.jena.tdb.base.StorageException: RecordRangeIterator:
> records not strictly increasing:
> 00000000000020ba000000000000002400000000000001490000000000000ad3 //
> 00000000000008bc000000000000002400000000000001490000000000000271
> 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
> com.hp.hpl.jena.tdb.graph.BulkUpdateHandlerTDB.removeWorker(BulkUpdateHandlerTDB.java:142)
> at
> com.hp.hpl.jena.tdb.graph.BulkUpdateHandlerTDB.removeAll(BulkUpdateHandlerTDB.java:102)
> at com.hp.hpl.jena.rdf.model.impl.ModelCom.removeAll(ModelCom.java:372)
> at
> com.ibm.jena.test.PerformanceRegressionTest.main(PerformanceRegressionTest.java:78)
> The issue seems reproducible (I have seen it 3 times in a row when following
> the scenario as described). Although I think this is exactly the same test
> application as in JENA-256, I'll add it again for completeness
--
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