On Thu, Jan 29, 2009 at 9:23 PM, Antony Blakey <[email protected]> wrote: > > On 30/01/2009, at 9:49 AM, Chris Anderson wrote: > >> What's happening in this scenario is that B is not getting any revs >> from A. Replication is one-way. I think if you always trigger >> replication both ways, then your nodes will be consistent (assuming >> they accept the same set of updates as valid). > > If you have > 2 nodes then that is no longer true. Consider three nodes A, B > and C where > > A: has a validation function F > B: a document that is invalid under F > > Replicating B -> C, A -> C is different than A -> C, B -> C, and there is no > global steady state that can be reached.
I think it is the responsibility of the application to write sane validation functions. Also, I don't see how the order of incoming replications to C matters. Maybe you can spell it out for me. > > Without these non-functional additions, A, B, C will tend to a global steady > state assuming full replication coverage, regardless of ordering. At least > that's what I assume from the wiki statement about the determinism of > conflict resolution. Have I made the wrong assumption about that? > > Antony Blakey > ------------- > CTO, Linkuistics Pty Ltd > Ph: 0438 840 787 > > The intuitive mind is a sacred gift and the rational mind is a faithful > servant. We have created a society that honours the servant and has > forgotten the gift. > -- Albert Einstein > > > -- Chris Anderson http://jchris.mfdz.com
