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 6F45083B8 for ; Tue, 16 Aug 2011 09:58:59 +0000 (UTC) Received: (qmail 83422 invoked by uid 500); 16 Aug 2011 09:58:59 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 82771 invoked by uid 500); 16 Aug 2011 09:58:48 -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 82743 invoked by uid 99); 16 Aug 2011 09:58:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2011 09:58:43 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of bchesneau@gmail.com designates 209.85.215.172 as permitted sender) Received: from [209.85.215.172] (HELO mail-ey0-f172.google.com) (209.85.215.172) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2011 09:58:37 +0000 Received: by eye4 with SMTP id 4so4687790eye.17 for ; Tue, 16 Aug 2011 02:58:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=IV1OCx1OLEV34rxzmlezsT2P1PPmEjKD2h4bKMMWNuQ=; b=TdOnTYJjftrnxnPrZAwzr3TXLZdFwSDyoxX+moE2zSJSEMg2oNVAlXTK8cbdBf8eEP QsqTH1NJ3913da8xNBbtZCTP62+VTUQfSti8id1mW/5vUSPjywev+nrOESt8yalvynUA IDrQZv5p71twHQDqIyuAfha0B83w9OuLtYQ/s= MIME-Version: 1.0 Received: by 10.213.15.3 with SMTP id i3mr472916eba.5.1313488695718; Tue, 16 Aug 2011 02:58:15 -0700 (PDT) Received: by 10.213.14.196 with HTTP; Tue, 16 Aug 2011 02:58:15 -0700 (PDT) In-Reply-To: References: <695819657.34335.1305020883141.JavaMail.tomcat@hel.zones.apache.org> <718059633.40893.1313487028462.JavaMail.tomcat@hel.zones.apache.org> Date: Tue, 16 Aug 2011 11:58:15 +0200 Message-ID: Subject: Re: [jira] [Commented] (COUCHDB-1153) Database and view index compaction daemon From: Benoit Chesneau To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Aug 16, 2011 at 11:46 AM, Filipe David Manana wrote: > On Tue, Aug 16, 2011 at 2:38 AM, Benoit Chesneau wr= ote: >> On Tue, Aug 16, 2011 at 11:30 AM, Filipe Manana (JIRA) = wrote: >>> >>> =A0 =A0[ https://issues.apache.org/jira/browse/COUCHDB-1153?page=3Dcom.= atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedComment= Id=3D13085605#comment-13085605 ] >>> >>> Filipe Manana commented on COUCHDB-1153: >>> ---------------------------------------- >>> >>> I'm -1 on adding such a _meta thing. >> >> why? > > From your description, that _meta sounds like something that can be > done with _local docs. But that is a whole separate discussion and > topic I think. > Could be a local docs, But why didn't we took this path for this "_security" object ? Also since they are really "meta" informations, i've the feeling it should be solved as a special member in the db file, just like the "_security" object. Anyway what I really dislike is saving per db configuration in an ini file. Per db configuration should be done on the db. What if you more than 100 dbs. Having 100 lines in an ini file to parse is awkward. meta informations (like security, db params, ...) should be saved in the db file and available in the same time. Since we have already this _security object that is available when you open why not reusing it ? >> >> >>> I don't understand either that idea of _changes nor how it can be appli= ed. >> >> creating db, adding db document to dbs db., update -> update db document= . > > You'll have to elaborate a lot more than that :) I'm not familiar with > that bigcouch special db nor elasticsearch. > > Reacting to a changes feed of some database it's not something easy > (the _replicator db is such a case and might have been the hardest > thing i did ever for couch, really) > This is just as simple as this line, creating a db create an entry in a db index (or db file) that you can use later. > I suspect what you think is something like rather than scanning > periodically, to let the daemon be notified when a db (or view) can be > compacted? > At some point I considered reacting to db_updated events but this was > pretty much flooding the the event handler (daemon). > Was this your idea? > Using db events is my idea yes. If t actually flood the db event handler (not sure why), then maybe we should fix it first? - benoit