On 17/02/2009, at 10:21 AM, Robert Newson wrote:
Ok, now I do understand. This matches my surprise at the replication
strategy. Two partitioned nodes make local changes, they both
cross-replicate, but each node does not have the full revision history
of the other, they don't converge to the same state. The only promise
is that the revision of each document will be the same at both nodes
after successful, bi-directional replication. It's that behavior that
breaks MW. I'm so used to replication using write-ahead logs (where
all replicas see all intermediate states) that I have to consciously
recall that CouchDB doesn't do that.
Hence my proposal to change it. Bayou shows that it possible to get a
result that is easier to program against, with stronger weak
consistency, and easier reasoning. PRACTI shows how to do that with
partial replication.
And this can all be done whilst increasing performance e.g. lower
bandwidth requirements, incremental progress, isolated write groups etc.
But it needs community support to be part of CouchDB (as opposed to a
new project, forked).
Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
There is nothing more difficult to plan, more doubtful of success, nor
more dangerous to manage than the creation of a new order of things...
Whenever his enemies have the ability to attack the innovator, they do
so with the passion of partisans, while the others defend him
sluggishly, So that the innovator and his party alike are vulnerable.
-- Niccolo Machiavelli, 1513, The Prince.