couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norman Barker <norman.bar...@gmail.com>
Subject couchdb under load
Date Tue, 29 Mar 2011 15:29:30 GMT
Hi,

I started testing couchdb when the system was under load from other
processes, basically I wanted to check that couchdb would still work
(this is a real application, not just testing) and couchdb made a few
groans that I have listed below

in

https://svn.apache.org/repos/asf/couchdb/trunk/src/couchdb/couch_os_process.erl

in the init function, BaseProc record doesn't include the timeout
configured in the ini file, this was a simple fix

    Timeout = list_to_integer(couch_config:get(
                            "couchdb", "os_process_timeout", "5000")),
    BaseProc = #os_proc{
        command=Command,
        port=open_port({spawn, Spawnkiller ++ " " ++ Command}, PortOptions),
        writer=fun writejson/2,
        reader=fun readjson/1,
        timeout=Timeout
    },

and then in any gen_server call, the timeout isn't set to infinity, in
particular in couch_query_servers

ret_os_process(Proc) ->
    true = gen_server:call(couch_query_servers, {ret_proc, Proc}, infinity),
    catch unlink(Proc#proc.pid),
    ok.

is there any reason not to make gen_server:call with an infinity timeout?

thanks,

Norman

Mime
View raw message