Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 37419 invoked from network); 21 Dec 2008 10:09:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Dec 2008 10:09:19 -0000 Received: (qmail 62636 invoked by uid 500); 21 Dec 2008 10:09:17 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 62598 invoked by uid 500); 21 Dec 2008 10:09:17 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 62587 invoked by uid 99); 21 Dec 2008 10:09:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Dec 2008 02:09:17 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of antony.blakey@gmail.com designates 209.85.198.227 as permitted sender) Received: from [209.85.198.227] (HELO rv-out-0506.google.com) (209.85.198.227) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Dec 2008 10:09:08 +0000 Received: by rv-out-0506.google.com with SMTP id g37so1567648rvb.35 for ; Sun, 21 Dec 2008 02:08:47 -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=C3D69EZzHuUvH8fetGxqxFWK7XbgHEIIV7efYky2xhs=; b=cVIdVpE9G87OA3/ykVI0HITdI3qWfLOcmqdYZx2LOhb4kR13Bwxml7X0YMG98LDXKA DJKEm4P+Xqu1fBZboTdCZ0IE1L3y65FHi8ra6+9olPPbw3M84MlvGd7vLd2UlwYJmddV zMC4e2AGBoW2BextyPcjyQuQcx4TAQUcjahFM= 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=Bz3dQC0vhT2hJdvAzMMd8XkjPE2mb23nojM5NyJFQgYGofw9a0DfJgnZjEPxhMQvL7 4EFLzQi+5YN8VaMg7xbRpreJ6jr4Yf6GHR/g2aU5JFz7qPe3bY0xFQXVPsPKl8h6aHVe JXuEa0i4P8IcwrJLHdOGI77n0ljUuluHvbTVY= Received: by 10.140.186.20 with SMTP id j20mr2577119rvf.130.1229854126967; Sun, 21 Dec 2008 02:08:46 -0800 (PST) Received: from ?192.168.0.16? (ppp121-45-41-103.lns10.adl2.internode.on.net [121.45.41.103]) by mx.google.com with ESMTPS id g31sm14694044rvb.4.2008.12.21.02.08.45 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 21 Dec 2008 02:08:46 -0800 (PST) Message-Id: From: Antony Blakey To: user@couchdb.apache.org, Chris Anderson In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v929.2) Subject: Re: couchdb Date: Sun, 21 Dec 2008 20:38:42 +1030 References: <494D94AF.8040305@timparkin.co.uk> <27BFB81F-9AE2-419C-8911-3F26D82A7A44@gmail.com> X-Mailer: Apple Mail (2.929.2) X-Virus-Checked: Checked by ClamAV on apache.org On 21/12/2008, at 6:05 PM, Chris Anderson wrote: > I think you are right on about no > synchronous guarantees between updates, and code in external being > run. Marking as dirty is a good way to handle this. Without some timing guarantee I think even setting dirty is problematic, because it's possible to set a dirty flag from a notification, and yet have a request from the external (e.g. all docs by seq) see a both the dirty flag and pre-notification state, and hence cache old data thinking it's post-notification. It's the avoidance of this kind of synchonisation problem that makes me think a UUID for the db and a UUID for the generation wrt compaction is a good idea. It reifies state boundaries in a way that can be used by external tools. I don't think there's any other way around it. Antony Blakey -------------------------- CTO, Linkuistics Pty Ltd Ph: 0438 840 787 Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. -- Douglas Adams