diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2012-02-09 15:43:49 -0600 |
---|---|---|
committer | Robert Newson <robert.newson@cloudant.com> | 2012-11-14 17:28:53 +0000 |
commit | fa43486fbbe918344d66337b3b0b0d34128d5c39 (patch) | |
tree | ec28ccac3d51ff4796128d8d41eb68adc9103143 /apps/couch/src/couch_file.erl | |
parent | a15c94a4d048afea6c53af7be089a2e3574f07c9 (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_file.erl')
0 files changed, 0 insertions, 0 deletions