Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-901

refactor os process management

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.1
    • 2.0.0
    • Database Core
    • None
    • Committers Level (Medium to Hard)

    Description

      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:

      http://github.com/davisp/couchdb/tree/emonk

      The work I did is here

      http://github.com/kocolosk/couchdb/tree/COUCHDB-901

      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

      Attachments

        Activity

          People

            kocolosk Adam Kocoloski
            kocolosk Adam Kocoloski
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: