Store the language as a binary in ets This was breaking pattern matching and never reusing OS processes. The new hard limit in CouchDB caused the bug to manifest where we'd not seen it previously.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/3755bb66 Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/3755bb66 Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/3755bb66 Branch: refs/heads/windsor-merge Commit: 3755bb663ea09d4328f35f57062479776ae78162 Parents: 9009e5f Author: Paul J. Davis <[email protected]> Authored: Mon Aug 11 14:03:41 2014 -0500 Committer: Robert Newson <[email protected]> Committed: Tue Aug 26 10:44:12 2014 +0100 ---------------------------------------------------------------------- src/couch_proc_manager.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/3755bb66/src/couch_proc_manager.erl ---------------------------------------------------------------------- diff --git a/src/couch_proc_manager.erl b/src/couch_proc_manager.erl index 541686c..33ef06c 100644 --- a/src/couch_proc_manager.erl +++ b/src/couch_proc_manager.erl @@ -355,7 +355,7 @@ teach_ddoc(DDoc, {DDocId, _Rev}=DDocKey, #proc_int{ddoc_keys=Keys}=Proc) -> make_proc(Pid, Lang, Mod) -> Proc = #proc_int{ - lang = Lang, + lang = couch_util:to_binary(Lang), pid = Pid, prompt_fun = {Mod, prompt}, set_timeout_fun = {Mod, set_timeout},
