[ 
https://issues.apache.org/jira/browse/COUCHDB-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Kocoloski updated COUCHDB-216:
-----------------------------------

    Attachment: couch_startup_refactor.patch

Here's an updated patch inspired by Martin's and Ben's work.  It stops short 
using a boot file to start CouchDB; hopefully that allays some of Jan's 
concerns regarding a build surviving an Erlang VM upgrade.  Highlights:

- remove application behavior from couch_server and add it to couch_app instead
- starts/stops the server using OTP application controls
- couch.erl convenience module exports start(), stop(), restart(), reload()
- modules list in couch.app auto-generated using Ben's scary sed command
- server startup command in shell script is *much* simpler now

I don't know if anyone was using couch_server:dev_start(), but I tried to 
update that correctly, too.

Finally, I dropped `icu-config --invoke` from the startup command.  In my 
experience couch finds the ICU libraries just fine without it, and it causes 
serious problems on Mac OS X when MacPorts is used to satisfy dependencies.  In 
particular, it utterly breaks couchdb-lucene.

> Make couchdb adhere more to OTP guidelines
> ------------------------------------------
>
>                 Key: COUCHDB-216
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-216
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Martin S
>         Attachments: 0001-add-couch_app-and-couch_sup.patch, 
> 0001-Generate-the-modules-section-of-couch.app-via-the-Ma.patch, 
> 0002-add-missing-registered-process-names.patch, 
> 0003-make-couchdb-startup-script-use-couch.rel.-load-conf.patch, 
> couch_startup_refactor.patch, rearrange.tar.gz
>
>
> CouchDB could adhere to otp standards in a better way. 
> Currently we have:
> - couch.app is not uptodate
> - couch_server.erl is an amalgam of 2 behaviours, which is considered being 
> "not good".
> From my beginner's perception of OTP, it seems CouchDB is not treated as a 
> running application when it is actually running. E.g. appmon doesn't show the 
> application once CouchDB is started. 

-- 
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