No, not that I can see. 

I removed the catch code and re-ran to see what else it might come up with, 
and below is what I got:

Exception in thread "main" org.neo4j.graphdb.TransactionFailureException: 
Unable to commit transaction
    at 
org.neo4j.kernel.TopLevelTransaction.close(TopLevelTransaction.java:134)
    at 
org.mitre.provenance.db.neo4j.Neo4JStorage.getMembers(Neo4JStorage.java:545)
    at org.mitre.provenance.test.Stub.main(Stub.java:17)
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)
    ... 2 more


On Wednesday, February 5, 2014 10:13:55 AM UTC-5, Jacob Hansson wrote:
>
> David, are there any additional cause exceptions available for that stack 
> trace?
>
> Sent from my phone, please excuse typos and brevity.
> On Feb 5, 2014 3:56 PM, "M. David Allen" <[email protected]<javascript:>> 
> wrote:
>
>> I'm running into exceptions where my transactions fail to commit, even 
>> though they're read-only cypher queries.   I created a small test database 
>> that's attached to some software I've written (running embedded DB). I'm 
>> attaching messages.log for a lot of diagnostics.    I ran some simple stub 
>> code to populate the test database, then do some querying on it using 
>> methods I wrote.
>>
>> I'm hoping to find some help with why this is happening.  I can actually 
>> safely ignore these transaction exceptions, and nothing seems to go 
>> horribly wrong, but they just shouldn't be there and I don't want to ignore 
>> them as my strategy.   Below I'm providing what the exceptions look like, 
>> and the code of the method that's creating these exceptions.  In other 
>> parts of my code base I have other similar queries (always read-only cypher 
>> queries wrapped in transactions) that have the same problems.   I ran this 
>> stub to try to illustrate the problem in one specific compact way.
>>
>> The exception dumps --
>>
>> SEVERE: Failed transaction: Unable to commit transaction
>> org.neo4j.graphdb.TransactionFailureException: Unable to commit 
>> transaction
>>     at 
>> org.neo4j.kernel.TopLevelTransaction.close(TopLevelTransaction.java:134)
>>     at 
>> org.mitre.provenance.db.neo4j.Neo4JStorage.getMembers(Neo4JStorage.java:545)
>>     at org.mitre.provenance.test.Stub.main(Stub.java:17)
>> 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)
>>
>> The code that's throwing the exception:
>>
>>     public static ProvenanceCollection getMembers(PLUSWorkflow wf, User 
>> user, int maximum) { 
>>         ViewedCollection d = new ViewedCollection(user);
>>         if(db == null) initialize();
>>         
>>         if(maximum <= 0 || maximum > Neo4JPLUSObjectFactory.MAX_OBJECTS)
>>             maximum = 100;
>>         
>>         Map<String,Object>params = new HashMap<String,Object>();
>>         params.put("wf", wf.getId());
>>         String query = "start 
>> r=relationship:relationship_auto_index(workflow={wf}) " +                 
>>                 "return r " +
>>                 "limit " + maximum;
>>         
>>         try (Transaction tx = db.beginTx()) {         
>>             ResourceIterator<Relationship> rs = 
>> Neo4JStorage.execute(query, params).columnAs("r");        
>>             
>>             try { 
>>                 while(rs.hasNext()) { 
>>                     Relationship r = rs.next();
>>                                 
>>                     
>> d.addNode(Neo4JPLUSObjectFactory.newObject(r.getStartNode()));
>>                     
>> d.addNode(Neo4JPLUSObjectFactory.newObject(r.getEndNode()));
>>                     d.addEdge(Neo4JPLUSObjectFactory.newEdge(r));        
>>     
>>                 }
>>             } catch(PLUSException exc) {
>>                 exc.printStackTrace();
>>             }
>>
>>             rs.close();
>>             tx.success();
>>         } catch(TransactionFailureException exc) { 
>>             log.severe("Failed transaction: " + exc.getMessage());
>>             exc.printStackTrace();
>>         }
>>         
>>         return d;
>>     } // End getMembers    
>>
>> Another relevant method (Neo4JStorage.execute):  (db is a 
>> GraphDatabaseService)
>>
>>     public static ExecutionResult execute(String cypherQuery, 
>> Map<String,Object>params) {
>>         if(db == null) initialize();
>>         
>>         ExecutionEngine engine = new ExecutionEngine(db);
>>                 
>>         assert(db.index().getNodeAutoIndexer().isEnabled());
>>                 
>>         StringBuffer sb = new StringBuffer("");
>>         for(String k : params.keySet()) sb.append(" " + k + "=" + 
>> params.get(k));
>>         
>>         //log.info("EXECUTING: " + cypherQuery + " /" +sb);
>>         return engine.execute(cypherQuery + " ", params);        
>>     }
>>
>>  -- 
>> 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 [email protected] <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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to