From dev-return-11896-apmail-couchdb-dev-archive=couchdb.apache.org@couchdb.apache.org Sat Sep 25 23:29:19 2010 Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 86936 invoked from network); 25 Sep 2010 23:29:19 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 25 Sep 2010 23:29:19 -0000 Received: (qmail 5183 invoked by uid 500); 25 Sep 2010 23:29:18 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 5100 invoked by uid 500); 25 Sep 2010 23:29:18 -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 5092 invoked by uid 99); 25 Sep 2010 23:29:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 25 Sep 2010 23:29:17 +0000 X-ASF-Spam-Status: No, hits=2.5 required=10.0 tests=FREEMAIL_FROM,FREEMAIL_REPLY,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of paul.joseph.davis@gmail.com designates 209.85.214.180 as permitted sender) Received: from [209.85.214.180] (HELO mail-iw0-f180.google.com) (209.85.214.180) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 25 Sep 2010 23:29:11 +0000 Received: by iwn8 with SMTP id 8so4730010iwn.11 for ; Sat, 25 Sep 2010 16:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=XTL11G8FsbBrlMoni7rDOTk1eHM+SkPZH4VixPAOnFs=; b=B691KRhSJEY0qsvf2WHq/7UYYxUzakT5PCjGzyK9p+LjysrHNnCHbyhWAJrVMLYtnY vwCDwfq1Ts/FoszINJVEwRTtpRH8oKdU+69Fyw8NzOgyii4h6Vkp4JfGNCghrc3diHM7 9fzCvZ9Lre85FZRTdlz8FE+pm1kaQuWEFw/Ck= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=Katv+L1XJUjNZkQrXgMW6I1Ubay3zJ8FkRqbcT48fzXIxvg1sAE2/sD+4waxusbNYk erzKIEtWBvUdhhyfNUXzvmrNlt8X3F5yvYt7B2TGJRhiofMqW7mvbtsB+yqOILKO0tz+ D4yIc1uIlbiXdRwe99EyjM++uGSqQB+dKoehQ= Received: by 10.231.193.135 with SMTP id du7mr4301469ibb.176.1285457330568; Sat, 25 Sep 2010 16:28:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.30.194 with HTTP; Sat, 25 Sep 2010 16:28:10 -0700 (PDT) In-Reply-To: References: From: Paul Davis Date: Sat, 25 Sep 2010 19:28:10 -0400 Message-ID: Subject: Re: Replacing the _external API To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org I've implemented the OS daemons feature and added some preliminary etap tes= ts. Patch as commit is here: http://github.com/davisp/couchdb/commit/01b75b8f74cd31605cbdbc3a6f6c7b9e8fc= dcbe3 This feature affects zero functionality and is purely an addition to CouchDB. I'm tempted to just and commit it because of that but I'm gonna wait another day or two to see if someone comes up with a strong opposition to this line of development. Feed back desired. Paul Davis On Fri, Sep 24, 2010 at 6:20 PM, Filipe David Manana wrote: > Paul, you have my +1 > > cheers > > On Fri, Sep 24, 2010 at 7:10 PM, Paul Davis = wrote: >> At CouchCamp there was a bit of discussion on replacing the _external >> API with something a bit more modern to give _external processes more >> control over their environment. >> >> The idea was born out of a discussion with Robert Newson who mentioned >> that couchdb-lucene really only needs a reverse proxy to put itself in >> the same URL namespace. It occurred to us that having a reverse proxy >> instead of the current _external stdio protocol would allow lots of >> other interesting features like node.js integration, as well as allow >> implementors to handle requests in parallel and so on and such forth. >> >> The major drawback that was identified was that if we switched to just >> a reverse proxy, people would then be responsible for handling the >> process management of their _external handlers. Ie, they'd have to >> configure daemon monitoring to make sure the processes stayed up and >> what not. The solution we came up with was to include another feature >> that did process management. Ie, something that would bring up an OS >> process when the server booted, and respawn it if it crashed. There'd >> be no connection to the _externals. Other than the basic "just keep a >> process up" sort of behaviour, the only other thing I could see adding >> is a simple stdio protocol to get configuration values from CouchDB. >> Other people have expressed interest in just the process management >> functionality as well which makes me think that having the two new >> features to replace the _external API would be both easier on >> developers as well as providing more functionality. >> >> So now I'm looking for feedback on what other people might think of >> this. I'll start working on this fairly soon if I don't hear any major >> objections. >> >> HTH, >> Paul Davis >> > > > > -- > Filipe David Manana, > fdmanana@gmail.com, fdmanana@apache.org > > "Reasonable men adapt themselves to the world. > =A0Unreasonable men adapt the world to themselves. > =A0That's why all progress depends on unreasonable men." >