Sorry, this was my mistake on the original post -- I'm not calling tx.finish() at all, but rather tx.success() at the end of the try block.
The original question stands though - what are the various reasons why a transaction would fail when nothing inside of the transaction is modifying the graph in any way? E.g. when it says "failed to commit" -- exactly what is being committed in a set of operations that theoretically should all be read-only? On Tuesday, December 31, 2013 1:53:29 PM UTC-5, Johannes Mockenhaupt wrote: > > You need to call tx.success() at the end of the block rather than > tx.finish(). The latter is done through the try-with-resources statement. > For further details see the JavaDoc of the Transaction class, which > explains this nicely with an example. > > On 12/31/2013 07:05 PM, M. David Allen wrote: > > As I'm updating code for 2.0.0, I'm wrapping a lot of old code that > > only serves to inspect a graph (not update it) in transactions, using > > the new idiom: > > > > try ( Transaction tx = myDb.beginTx() ) { > > accessSomeData(); > > tx.finish(); > > } > > > > After the try block finishes, I'm getting exceptions of this form: > > > > org.neo4j.graphdb.TransactionFailureException: Unable to commit > > transaction > > at > > org.neo4j.kernel.TopLevelTransaction.close(TopLevelTransaction.java:134) > > at blah.blah.mycode > > > > Caused by: javax.transaction.RollbackException: Failed to commit, > > transaction rolled back > > at > > > org.neo4j.kernel.impl.transaction.TxManager.rollbackCommit(TxManager.java:623) > > > > at > > org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:402) > > at > > > org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:122) > > > > at > > org.neo4j.kernel.TopLevelTransaction.close(TopLevelTransaction.java:124) > > ... 70 more > > > > What are the various causes of this, and how can I troubleshoot them? > > > > This is all code that ran without any problem on 1.9.3 - so I'm > > thinking I should look into areas of difference there. > > > > Sometimes this happens when iterating over the results of executing a > > cypher query from java. Sometimes it happens when I'm using a > > TraversalDescription I built. > > > > Strangely enough, since these are read-only operations, I can *ignore* > > the failure exception, and everything seems peachy (the data came back > > from the graph database just fine). I'm just wondering why they're > > happening. > > > > Any suggestions or pointers? > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "Neo4j" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to neo4j+un...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.