Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 36351 invoked from network); 17 Feb 2009 00:38:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Feb 2009 00:38:43 -0000 Received: (qmail 68913 invoked by uid 500); 17 Feb 2009 00:38:42 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 68874 invoked by uid 500); 17 Feb 2009 00:38:42 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 68863 invoked by uid 99); 17 Feb 2009 00:38:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Feb 2009 16:38:42 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=FS_REPLICA,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of antony.blakey@gmail.com designates 209.85.198.228 as permitted sender) Received: from [209.85.198.228] (HELO rv-out-0506.google.com) (209.85.198.228) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Feb 2009 00:38:34 +0000 Received: by rv-out-0506.google.com with SMTP id f6so1703325rvb.35 for ; Mon, 16 Feb 2009 16:38:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=7VKbRj/y6Gp5HWFNtJCAvK32HrfwrF8PVcM6b8PV/nQ=; b=IU5KcpXb9KHFnLjBoLHeU91ajgtqACGZWw7DaTERkWBm0SahTj0Y0svgMfVBnvJCXX QxaVBLsXF2QZ8Zqdm1zW6UoWdoXfg1Z2ONWQ5WCJaG+ee8P2NkLIdQBSkC74t0xvGLGq tQNYkzKzdoH9xiTJhqSWocqM0EjUMcDj5INOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=nzIPS+YmnRxOhuXnah4h8g6SN45B4pPyzUJMVipYzb9Ba0Wp3DcY+0bZy7PRg1cv6A 2bItms4lYxt2p3qRzYbMQuq2inWtjMNAG6YyTK3VfIvXgEuIrn+P9DT1UHYWznUXclZh +iANESvidPtcIUG8nQixVr4ArjBRouqjyaeDk= Received: by 10.141.116.17 with SMTP id t17mr2122962rvm.268.1234831094176; Mon, 16 Feb 2009 16:38:14 -0800 (PST) Received: from ?192.168.0.16? (ppp121-45-202-232.lns10.adl2.internode.on.net [121.45.202.232]) by mx.google.com with ESMTPS id b8sm12045452rvf.8.2009.02.16.16.38.12 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 16 Feb 2009 16:38:13 -0800 (PST) Message-Id: <2D9F641A-5397-4B15-86CA-7A6A992000AF@gmail.com> From: Antony Blakey To: dev@couchdb.apache.org In-Reply-To: <46aeb24f0902161551pca716f8r5826aef73ee7db6c@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: Replication and forms of weak consistency Date: Tue, 17 Feb 2009 11:08:09 +1030 References: <0FDDC57C-DB78-4241-86DE-549FECC8B558@gmail.com> <5B34C99E-DE0A-42FE-AC68-4C79A6754862@gmail.com> <61D81FC2-F3FB-4DC9-969B-633AE1FA6E6A@gmail.com> <86408A84-A967-41C6-872B-F69403184A24@gmail.com> <46aeb24f0902160315s82a6e6fyc700907d5d4a0b88@mail.gmail.com> <72F60CE6-34B0-4C1A-A7AC-EF46A8F1E129@gmail.com> <46aeb24f0902161456y57e8db1fq70ac4ab5a5a93381@mail.gmail.com> <46aeb24f0902161551pca716f8r5826aef73ee7db6c@mail.gmail.com> X-Mailer: Apple Mail (2.930.3) X-Virus-Checked: Checked by ClamAV on apache.org 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.