[
https://issues.apache.org/jira/browse/JENA-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086578#comment-13086578
]
Simon Helsen commented on JENA-96:
----------------------------------
ok, this is what I get when I fish out the exception which is obscured by the
exception thrown on abort:
16:36:59,302 [jazz.jfs.indexer.jfs_tests_default_consumer_name.triple] ERROR
com.ibm.team.jfs -
com.hp.hpl.jena.tdb.TDBException: Different ids allocated: expected
[0000000000199A67], got [0000000000199B10]
Could be another corruption issue in the style of JENA-91.
> transactional behavior not sound
> --------------------------------
>
> Key: JENA-96
> URL: https://issues.apache.org/jira/browse/JENA-96
> Project: Jena
> Issue Type: Bug
> Components: TDB
> Environment: tx-tdb-0.9.0-20110809.130753-7
> Reporter: Simon Helsen
> Priority: Critical
>
> TDB-TX tx-tdb-0.9.0-20110809.130753-7 has transactionality issues. I am
> seeing the following stack trace:
> com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Transaction has
> already committed or aborted
> at
> com.hp.hpl.jena.tdb.transaction.Transaction.abort(Transaction.java:107)
> at com.hp.hpl.jena.tdb.DatasetGraphTxn.abort(DatasetGraphTxn.java:31)
> at
> com.ibm.team.jfs.rdf.internal.jenatdbtx.JenaTdbProvider.storeOperation(JenaTdbProvider.java:208)
> at
> com.ibm.team.jfs.rdf.internal.jenatdbtx.JenaTdbProvider.replace(JenaTdbProvider.java:2411)
> at
> com.ibm.team.jfs.rdf.internal.jenatdbtx.JenaRdfService.replace(JenaRdfService.java:265)
> ... 14 more
> I use the following bit of code to execute writes:
> DatasetGraphTxn dsGraph = null;
> try {
> dsGraph = this.store.begin(ReadWrite.WRITE);
> Dataset ds = dsGraph.toDataset();
> Model m = ds.getNamedModel(graphName);
> E e = modelWriteActivity.run(m);
> dsGraph.commit();
> return e;
> } catch (Exception e) {
> if (dsGraph != null) {
> dsGraph.abort();
> }
> // TODO handle better
> throw new RuntimeException(e);
> } finally {
> if (dsGraph != null) {
> dsGraph.close();
> }
> //System.out.println("ModelWriteActivity: " +
> (System.currentTimeMillis() - t) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
> }
> The only thing I do in the ModelWriteActivity is
> model.removeAll();
> model.add(graph);
> As you can see, there is nothing in here which could have made it possible
> that the transaction has committed before. Moreover I only see this happening
> when I am executing massive concurrent reads/writes. Sequential operations do
> not expose this problem.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira