couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Kocoloski (JIRA)" <>
Subject [jira] Created: (COUCHDB-901) refactor os process management
Date Wed, 29 Sep 2010 17:12:32 GMT
refactor os process management

                 Key: COUCHDB-901
             Project: CouchDB
          Issue Type: Improvement
          Components: Database Core
    Affects Versions: 1.0.1
            Reporter: Adam Kocoloski
             Fix For: 1.1

Wanted to make sure this doesn't get forgotten in the planning for 1.1.  Paul Davis and I
independently refactored couch_query_servers.  Paul's work is much more comprehensive and
includes a switch to emonk:

The work I did is here

One feature not included in that branch is the ability to limit the number of OS processes.
 Should be simple to add if my work ends up being merged.  I did the refactor because I was
having problems with couch_query_servers "forgetting" about OS processes in BigCouch.  One
of the ets tables held by couch_query_servers would list thousands of processes (and in fact
there were thousands of spawned couchjs), but another table would claim that only two were
running.  After digging through the code a while I became frustrated with all of the tracking
of multiple ets tables and rewrote a server that used only one table.  Other changes include

* ability to reuse an OS process when the client that requested it dies.
* better behavior under config changes - doesn't kill all query servers when [query_servers]
or [native_query_servers] block changes

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message