I have the same config order as you.

It seems to have written the log level change to local.ini .  However, I'm
not sure how to interpret that...  does that mean it's giving local.ini the
highest precedence?

So, I looked at http://localhost:5984/_utils/config.html and it's now
reporting
socket_options  [{nodelay, true}]

This is after I changed local.ini to have the value
socket_option = [{keepalive, true}, {nodelay, true}]

since both default and local.ini say keepalive is true, it seems odd that
it's now dropped...

On Fri, Jun 1, 2012 at 2:15 PM, Dave Cottlehuber <d...@muse.net.nz> wrote:

> On 1 June 2012 17:09, Tim Tisdall <tisd...@gmail.com> wrote:
> > Maybe I'm missing something simple, but my understanding is that
> local.ini
> > values should take precedence over values in default.ini .  However, I'm
> > trying to set nodelay to true for the socket_options and that doesn't
> > appear to be working.
>
>
> Strictly speaking the ini file that's last in the chain takes precedence,
> and
> its also the file that gets changes written to.
>
> You can see which ones are being used and in what order with
>
> $ couchdb -c
> /usr/local/etc/couchdb/default.ini
> /usr/local/etc/couchdb/local.ini
>
> > Here's what's in default.ini :
> > socket_options = [{keepalive, true}, {nodelay, false}]
> >
> > here's what's in local.ini:
> > socket_options = [{nodelay, true}]
> >
> > http://localhost:5984/_utils/config.html is reporting that
> socket_options
> > is equal to:
> > [{keepalive, true}, {nodelay, false}]
> >
> >
> > I've restarted the couchdb server multiple times since making the change,
> > but just noticed now that the change doesn't appear to have been made.
>  I'm
> > using v1.2.0
>
> A restart is not required, the erlang magic picks up the changed config
> for you.
>
> If your config chain above doesn't raise warning bells, can you temporarily
> up the log level to debug, try this:
>
>    COUCH=http://admin:passwd@localhost:5984
>    curl -vXPUT $COUCH/_config/httpd/fake_key -d '"fake_value"'
>
> You should see something like this in your logs:
>
> [Fri, 01 Jun 2012 18:10:23 GMT] [debug] [<0.287.0>] 'PUT'
> /_config/httpd/fake_key {1,1} from "127.0.0.1"
> Headers: [{'Accept',"*/*"},
>          {'Authorization',"Basic YWRtaW46cFGSzc3dk"},
>          {'Content-Length',"12"},
>          {'Content-Type',"application/x-www-form-urlencoded"},
>          {'Host',"localhost:5984"},
>          {'User-Agent',"curl/7.21.4 (universal-apple-darwin11.0)
> libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5"}]
> [Fri, 01 Jun 2012 18:10:23 GMT] [debug] [<0.287.0>] OAuth Params: []
> [Fri, 01 Jun 2012 18:10:23 GMT] [info] [<0.287.0>] 127.0.0.1 - - PUT
> /_config/httpd/fake_key 200
>
> And you should be able to grep for fake_key if needed to see where
> it's being written to.
>
> In fact you can even use upping the log level as a check:
>
>    curl -vXPUT $COUCH/_config/log/level -d '"debug"'
>
> and back to error
>
>    curl -vXPUT $COUCH/_config/log/level -d '"error"'
>
> A+
> Dave
>

Reply via email to