Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A7D89959B for ; Fri, 11 May 2012 13:37:39 +0000 (UTC) Received: (qmail 70674 invoked by uid 500); 11 May 2012 13:37:39 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 70629 invoked by uid 500); 11 May 2012 13:37:39 -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 70621 invoked by uid 99); 11 May 2012 13:37:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 13:37:39 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of nslater@tumbolia.org designates 209.85.215.52 as permitted sender) Received: from [209.85.215.52] (HELO mail-lpp01m010-f52.google.com) (209.85.215.52) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 13:37:33 +0000 Received: by lahj13 with SMTP id j13so2506802lah.11 for ; Fri, 11 May 2012 06:37:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tumbolia.org; s=google; h=mime-version:x-originating-ip:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=YUQPYRcbJ7kvTaj3sDCH3rId9xu/QenZ8lt1+70c+/0=; b=jDEAnEKi/QhJwiIf/GpgN7gO7LltfzRs2+GwigMKbuxti/N0YNM2/epB0z51AStwfn qZ4uId+cEz/3p4GVgosNdumslfF5/Cgb92TRja1uKOdi3ClttGpGO3Y7l1qyzYtqKlSK rmJYMtxJDC1tQR27/1dRFWjT72PcKMzfgATQE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:date :message-id:subject:from:to:content-type:x-gm-message-state; bh=YUQPYRcbJ7kvTaj3sDCH3rId9xu/QenZ8lt1+70c+/0=; b=RV7737WqPVQnAkBWySJvzIukZmXKy+XLALT9Or91OGcF22ouW9dHebwX10RRE+Yj+Z gYQrBJsGdnLWVljhx+2iwPJvyHL0kDz6wMiBvjU8xlmaMC6SZOuPjYSCrcMtwMhiewth LNFP4PR+dO5OAF96PKWEdyAuMrCB4RgSWj60dbNfjCIMs6c/n5XlJNhbM/Q9EIMQx841 RG71PSP+XinLuzL548U0C0MDnMeuQyglS5ENBpjUNDM9HuQ8+xAKK5RG9qO64MNqZU8Y HMcfX8qI8Kga0Nmh/1rSROiHnZMZEBRCJ5HQ5offMCaUMt89QPPI1Hlt6RbNHXNJILoc oDqQ== MIME-Version: 1.0 Received: by 10.152.46.6 with SMTP id r6mr873294lam.7.1336743432357; Fri, 11 May 2012 06:37:12 -0700 (PDT) Received: by 10.112.148.167 with HTTP; Fri, 11 May 2012 06:37:12 -0700 (PDT) X-Originating-IP: [178.250.115.206] In-Reply-To: References: Date: Fri, 11 May 2012 14:37:12 +0100 Message-ID: Subject: Re: Post-mortem From: Noah Slater To: dev@couchdb.apache.org Content-Type: multipart/alternative; boundary=bcaec550ace671070f04bfc2d508 X-Gm-Message-State: ALoCoQkdXUr4ICu7lrTzdzkjCpDHllH5KLjb2Ht1+19E12TXNgvjHq1GUHpp0cumdCT16pz5DNev X-Virus-Checked: Checked by ClamAV on apache.org --bcaec550ace671070f04bfc2d508 Content-Type: text/plain; charset=ISO-8859-1 More comments here: http://news.ycombinator.com/item?id=3954596 Not sure how useful they are... (Not caught up with the thread yet, sorry!) On Fri, May 11, 2012 at 2:34 PM, Dirkjan Ochtman wrote: > On Fri, May 11, 2012 at 3:25 PM, Robert Newson wrote: > > We're veering off-topic here, but there are several remaining issues. > > First is that the view file is at some update_seq relative to the > > database file. Being at update_seq N for a view means it has all the > > changes up to and including N, but nothing after N, so while those > > updates could be processed in parallel, they'd have to be applied to > > the view process and view file in order. > > Yeah, you'd have to serialize and buffer when writing to disk again. > > > Secondly, and more > > importantly, is how to handle rows that, for whatever reason, cause an > > exception when evaluated in the function (e.g, the common case where > > there's an undefined property and no guard clause). If the order is > > not determined, then two database, with the same data and same view > > code, will have different view results for the same input. > > I'm actually not clear on what happens with erroring view functions. > Does it just stop processing any further document revisions? > > In any case, it seems okayish to do have the document updates be in a > defined ordering but parallellize execution of the view function, then > serialize back into document order when the results come back, doing a > little buffering if the results aren't in order. > > Cheers, > > Dirkjan > --bcaec550ace671070f04bfc2d508--