On 10/02/2009, at 9:44 AM, Damien Katz wrote:


On Feb 9, 2009, at 5:59 PM, Antony Blakey wrote:

OK, I give up.

Given compaction and/or revision pruning (as Damien has proposed in another thread), even generic 'Eventual Consistency' isn't guaranteed.

Revision stemming is 100% optional, and the compaction works the same as it did 0.8.0. I'm not sure why you think 'Eventual Consistency' isn't guaranteed.

Because it depends on a steady state that may never be reached as long as modification stays ahead of replication - the 'eventual' point might be always ahead of the shared state.

Compaction and revision stemming (which is required to avoid unbounded growth) make intermediate states inconsistent because they can delete either the data of a document rev or the document rev itself. In the face of compaction, it's possible for consistency to only be achieved when the replication reaches the same MVCC commit point that the compaction was operating against. Revision stemming has a similar effect, although it has the further issue of being automatic i.e. not scheduled.

That's ignoring replication failure, either temporary or permanent, which further complicates the picture. Given that intermediate states are not necessarily consistent, anything that leaves you in an intermediate state without a way forward, repudiates the guarantee of Eventual Consistency.

Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

Nothing is really work unless you would rather be doing something else.
  -- J. M. Barre


Reply via email to