I'm running into an error when I have multiple sessions running the same 
benchmark in both 2.2.0-M01 and M02 using the transactional endpoint with 
Neo4j.rb and Neo4j-core gems. I'm having trouble pinning down whether this 
is is a bug in the driver, something I should expect and workaround, or 
something else, but I'm very concerned.

The benchark is simple. It creates two nodes, creates a relationship 
between them, follows the relationship to return one of the nodes, then 
deletes both nodes. It goes through a few iterations: one where each 
individual action is in its own transaction, another where the entire 
process is wrapped in a transaction. On occasion -- and I can't reproduce 
this consistently, not do I know why that is -- if I am doing this 
simultaneously in two entirely independent terminals on the same system, 
one will error and reference the ID of a node being used in the other 
session.

In one window, I will receive this message:

CYPHER 2ms MATCH (start:`Student`), (end:`Lesson`) WHERE ID(start) = 
> {start_id} AND ID(end) = {end_id} CREATE UNIQUE 
> start-[rel0:`ENROLLED_IN`]->end | {:start_id=>18722, :end_id=>18725}
>
 
The failing session will be doing this:

Student#lessons 11ms MATCH (student18726:`Student`), 
> (result_lessons:`Lesson`), 
> student18726-[rel0:`ENROLLED_IN`]->(result_lessons:`Lesson`) WHERE 
> ID(student18726) = {ID_student18726} RETURN result_lessons ORDER BY 
> ID(result_lessons) LIMIT {limit_1} | {:ID_student18726=>18726, "limit_1"=>1}


It will immediately try committing against 
http://localhost:7474/db/data/transaction/17601/commit but I will receive 
an error that reports:

> Node with id 18725, Neo.ClientError.Statement.EntityNotFound


First part of that is my output, the second is obviously from Neo. As we 
can see, it's referencing the ID used in the other session, which is part 
of a separate transaction.

Any help is appreciated.

-- 
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/d/optout.

Reply via email to