[ 
https://issues.apache.org/jira/browse/JENA-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086587#comment-13086587
 ] 

Simon Helsen commented on JENA-96:
----------------------------------

I should mention though that even though there could be a relation to JENA-91, 
this particular problem can be reproduced without ever running into the 
messages which I see in JENA-91. Just the massive concurrency seems to cause 
this. Also, here is the full stack trace

16:53:37,487 [jazz.jfs.indexer.jfs_tests_default_consumer_name.triple] ERROR 
com.ibm.team.jfs                                    - Originating Exception:
com.hp.hpl.jena.tdb.TDBException: Different ids allocated: expected 
[0000000000199AA9], got [0000000000199B52]

        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans.java:149)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeTableTrans.java:176)
        at 
com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTableTrans.java:161)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java:94)
        at 
com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:77)
        at com.hp.hpl.jena.tdb.DatasetGraphTxn.commit(DatasetGraphTxn.java:26)
        at 
com.ibm.team.jfs.rdf.internal.jenatdbtx.JenaTdbProvider.storeOperation(JenaTdbProvider.java:207)
        ...

> 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

        

Reply via email to