[ 
https://issues.apache.org/jira/browse/COUCHDB-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12849569#action_12849569
 ] 

Adam Kocoloski commented on COUCHDB-709:
----------------------------------------

Looks good to me.

The asynchronous shutdown problem is a symptom of us violating OTP design 
principles in our structuring of CouchDB.  The quartet of gen_servers 
associated with each open database (couch_db, couch_db_updater, 
couch_ref_counter, and couch_file) are not supervised, and as a result we have 
a homegrown (async) system for killing them.  The OTP supervisor system is 
definitely synchronous.

> Restart actually restarts the server
> ------------------------------------
>
>                 Key: COUCHDB-709
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-709
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>            Reporter: Chris Anderson
>
> This patch will cause CouchDB to actually restart the server when a POST is 
> made to /_restart
> The old way was unreliable as supervisors would shut things down 
> asynchronously. This new way is much more brute force, which makes it more 
> deterministic.
> This only really effects the test suite. I'm only pushing the patch through 
> Jira to see if people see room for improvements.
> One improvement would be to add a timestamp for server boot time to the / 
> response, but I seem to have avoided the need for that with my double GET 
> magic.
> Do note: restart now drops any temporary config, hence the change to the 
> reader_acls test.

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

Reply via email to