couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Klaus Trainer <klaus.trai...@web.de>
Subject Re: [jira] Commented: (COUCHDB-855) New host manager
Date Mon, 16 Aug 2010 18:52:33 GMT
Hey Chris,

I guess there was a race condition while you processed Benoit's and my
patch in parallel.

Cheers,
Klaus


On Mon, 2010-08-16 at 13:17 -0400, Chris Anderson (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/COUCHDB-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898993#action_12898993
] 
> 
> Chris Anderson commented on COUCHDB-855:
> ----------------------------------------
> 
> patch looks great! thanks so much. only change I'd suggest is removing this change:
> 
>        basicView : {
>          map : stringFun(function(doc) {
> -          emit(doc.integer, doc.string);
> +          if (doc.integer && doc.string)
> +            emit(doc.integer, doc.string);
>          })
>        },
>        withReduce : {
>          map : stringFun(function(doc) {
> -          emit(doc.integer, doc.string);
> +          if (doc.integer && doc.string)
> +            emit(doc.integer, doc.string);
>          }),
> 
> 
> I know these guard conditions are good practice, but in real life there are lots of "bad"
views out there, so we should ensure the tests pass even without the guards.
> 
> > New host manager
> > ----------------
> >
> >                 Key: COUCHDB-855
> >                 URL: https://issues.apache.org/jira/browse/COUCHDB-855
> >             Project: CouchDB
> >          Issue Type: Improvement
> >    Affects Versions: 1.1
> >            Reporter: Benoit Chesneau
> >            Assignee: Benoit Chesneau
> >             Fix For: 1.1
> >
> >         Attachments: 0001-New-vhost-manager.-allows-dynamic-add-of-vhosts-with.patch
> >
> >
> > New vhost manager. allows dynamic add of vhosts without restart, wildcard in vhost
and specific functions in erlang by kind of domain. It also fix issue in etap test (160) .
> > Find attached to this ticket the patch. It is also available in my github repo :
> > http://github.com/benoitc/couchdb/commit/435c756cc6e687886cc7055302963f422cf0e161
> > more details :
> > This gen_server keep state of vhosts added to the ini and try to
> > match the Host header (or forwarded) against rules built against
> > vhost list. 
> > Declaration of vhosts take place in the configuration file :
> > [vhosts]
> > example.com = /example
> > *.example.com = /example
> > The first line will rewrite the rquest to display the content of the
> > example database. This rule works only if the Host header is
> > 'example.com' and won't work for CNAMEs. Second rule on the other hand
> > match all CNAMES to example db. So www.example.com or db.example.com
> > will work.
> > The wildcard ('*') should always be the last in the cnames:
> >      "*.db.example.com = /"  will match all cname on top of db
> > examples to the root of the machine. (for now no rewriting is
> > possible).
> > By default vhosts redirection is handle by the function
> > couch_httpd_vhost:redirect_to_vhost, but you could pass per vhost a
> > specific function :
> >      "*.domain.com" = {Module, Func}"
> > The function take the Mochiweb Request object and should return a new
> > Mochiweb Request object.
> > You could also change the default function to handle request by
> > changing the setting `redirect_vhost_handler` in `httpd` section of
> > the Ini:
> >       [httpd]
> >       redirect_vhost_handler = {Module, Fun}
> > The function take 2 args : the mochiweb request object and the target
> > path. 
> 



Mime
View raw message