summaryrefslogtreecommitdiff
path: root/apps/couch/src/couch_query_servers.erl
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2012-02-09 15:43:49 -0600
committerRobert Newson <robert.newson@cloudant.com>2012-11-14 17:28:53 +0000
commitfa43486fbbe918344d66337b3b0b0d34128d5c39 (patch)
treeec28ccac3d51ff4796128d8d41eb68adc9103143 /apps/couch/src/couch_query_servers.erl
parenta15c94a4d048afea6c53af7be089a2e3574f07c9 (diff)
Remove the client ref when it dies
We have observed periods of couchjs processes spiking into the hundreds and thousands for short periods of time since the new couch_proc_manager was released. Today I happened to catch one in the act and poked at couch_proc_manager's ets table. There seemed to be a few more couchjs processes with clients than I would have expected so I skimmed the code looking for a place where we didn't clear the client value (which would prevent it from being reused so that it would eventually just timeout). I found a case where if the Pid that checked out the process dies without the OS process dying, we were forgetting to clear the client in the ets table. This patch refactors the two places we return processes into a single function call which clears the OS process client.
Diffstat (limited to 'apps/couch/src/couch_query_servers.erl')
0 files changed, 0 insertions, 0 deletions