On Aug 11, 2011, at 23:26 , dhsieh wrote:

> According to http://docs.neo4j.org/chunked/stable/ha-architecture.html, this
> is my understanding and I would like for confirmation from Neo4j:
> 
> A slave will handle writes by synchronizing with the master to preserve
> consistency. 
>>> It sounds like 2-phase commit between write initiated slave & master
>>> nodes.
> 

Actually it would seem that the 2PC stuff in Neo4j is not related to HA at all.

> Updates will however propagate from the master to other slaves eventually so
> a write from one slave is not immediately visible on all other slaves.
>>> It sounds like eventual consistency from master to other slaves. if so, I
>>> am interested in finding out details about Neo4j HA member nodes voting
>>> quorum & arbitrater setup (assuming using zookeeper)

Looking at the code, it seems that the transaction is first prepare()'d on the 
slave, then the prepared log shipped to the master, applied and committed 
there, and the master txid shipped back and used to commit the transaction on 
slave. However, the locks seem to be held (both on slave and master) until the 
slave finishes committing or rolling back, so no visibility problems should 
occur.

_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to