Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 89689 invoked from network); 25 Sep 2010 23:59:41 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 25 Sep 2010 23:59:41 -0000 Received: (qmail 15230 invoked by uid 500); 25 Sep 2010 23:59:40 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 15187 invoked by uid 500); 25 Sep 2010 23:59:40 -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 15178 invoked by uid 99); 25 Sep 2010 23:59:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 25 Sep 2010 23:59:40 +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 (athena.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:59:35 +0000 Received: by iwn8 with SMTP id 8so4747049iwn.11 for ; Sat, 25 Sep 2010 16:59:14 -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=QtmaoymYB3HS1pKsbX9RBpda1MitIyfB9UpWONp+Ae8=; b=p6EzsKcjLzObrYmbU6UJoB5yV97M58r4QbIec8nJFlx6aZMsXnJ1099YKic3iAXJc5 rzRdKtEkbEJXNcf0BhYBwk225GxQpaqkunmGmNqlxY8HSNHnO9QLSQNQck1S2W9fI1sq sBlonLK5T0fSgiTlU7W2x35lJc+ke9USDf0EE= 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=xqH+cEIFMvtuFBr8XM8cQ7h6OBlpmkYx+qKjI+r5o/5S+4tttFzIRhiK627vC0SE1f xVF3RlRhGNPCKu3/1fCV+rh2SZJzKh8r2wmkFVktcoDOJOTS6iSM6QBReLGw7wxj9wH1 WF2YLqya+DmA3quQieEPBNbpgYSu5fHygvamY= Received: by 10.231.183.134 with SMTP id cg6mr6311603ibb.197.1285459154803; Sat, 25 Sep 2010 16:59:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.30.194 with HTTP; Sat, 25 Sep 2010 16:58:34 -0700 (PDT) In-Reply-To: References: From: Paul Davis Date: Sat, 25 Sep 2010 19:58:34 -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 Already found and fixed a couple more bugs. The latest patch will always be the last commit on this branch: http://github.com/davisp/couchdb/tree/os_daemons On Sat, Sep 25, 2010 at 7:28 PM, Paul Davis w= rote: > I've implemented the OS daemons feature and added some preliminary etap t= ests. > > Patch as commit is here: > > http://github.com/davisp/couchdb/commit/01b75b8f74cd31605cbdbc3a6f6c7b9e8= fcdcbe3 > > 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." >> >