[ https://issues.apache.org/jira/browse/COUCHDB-901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923534#action_12923534
]
Adam Kocoloski commented on COUCHDB-901:
----------------------------------------
I suppose it would work to return the os process and re-acquire it after every iteration of
do_maps or do_writes, but i'm sure reinitializing the OS proc every time will add significant
delays to the indexing.
> refactor os process management
> ------------------------------
>
> Key: COUCHDB-901
> URL: https://issues.apache.org/jira/browse/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:
> 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
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|