On Mon, 25 Jan 2016, at 11:44 AM, Alexander Shorin wrote:
> Hi Clemens!
> 
> My own opinion below:
> 
> On Mon, Jan 25, 2016 at 1:32 PM, Clemens Stolle
> <clemens.sto...@fastmail.com> wrote:
> > - Should we use ubuntu and the PPA instead of building from source? The 
> > ubuntu base image is 60MB bigger than debian's.
> 
> We don't provide any PPA builds to use, especially for 2.0, today.
> Ubuntu vs debian - doesn't matter for me.
> 
> > - Building from git branches is not feasible in official images. Are there 
> > tags or pre-release snapshots for 2.0?
> 
> There was developer-preview-2.0 branch for that purpose, but it's
> outdated for now and quickly becomes after each rebase. For current
> state of 2.0 I don't see any point to add special intermediate tags
> for reproduceable builds.
> Also, it may be a bit rushy to include 2.0 image into officials as
> people may accidentally thought that this version is released while
> that's not true.

If it's helpful, we can use the ppa:couchdb/dev for this, and use
couchdb2 as the package name for the interim. Dropping a 2.0 over top of
a 1.x install would be very much against Principle of Least
Astonishment. This approach is very common in FreeBSD ports, for example
with puppet3 and puppet4 to give people a clear distinction.

> > - How does CouchDB handle signals? Currently couchdb doesn’t respond to 
> > SIGTERM. I’m not sure if this is caused by my wrapper shell script.
> 
> SIGTERM works correctly so far.
> 

Worth clarifying here that Erlang/OTP itself is not signal friendly.
There are a number of daemons to help address this, but IIRC all of them
have non-ALv2 taints and/or heavy dependencies.

https://github.com/ShoreTel-Inc/erld
https://github.com/jkingsbery/sighandler
https://github.com/erlware/erlnixify

A competent C programmer could make short work of a GPL-free version of
erld (hint hint) though.

Things a signal handler needs to address:

- rotating logs SIGHUP?
- SIGTERM & friends for shutting down
- terminating BEAM if/when it becomes unresponsive a la heart
- ... others?

The new systemd approach (& presumably docker too) means that the whole
of couchdb runs in a namespace which is then cleaned up. I really like
this, considering how much effort was consumed in getting the original
couchdb script to work correctly.

A+
Dave

Reply via email to