2011/8/12 Tuure Laurinolli <tuure.laurino...@portalify.com> > > 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. >
2PC doesn't work well in a distributed environment. Some sort of 3PC could do the trick and something I think will be implemented in the future. > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user