Hi Guillaume. Sending sigterm instead of sigkill sounds fine to me.
Please go ahead and submit a patch.

Thanks!
--Michi

On Tue, Nov 11, 2014 at 11:49 AM, Guillaume Alaux <[email protected]> wrote:
> Hello,
>
> I noticed script zkServer.sh stops zookeeper by sending the java
> process a `kill -9` (SIGKILL). Is there any technical reason to use
> such a radical signal rather than SIGTERM (-15) for instance?
>
> I am wondering this because I am working on Systemd service files for
> Zookeeper [0] [1] and this `-9` actually makes Systemd consider the
> Zookeeper java process fails when stop is called as shown by the
> following Systemd log:
>
> ---------------8<---------------
> # sudo systemctl status zookeeper.service
> ● zookeeper.service - Highly reliable distributed coordination server
>    Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; disabled)
>    Active: failed (Result: signal) since Wed 2014-11-05 11:23:29 CET; 2s ago
>   Process: 656 ExecStop=/usr/bin/zkServer.sh stop (code=exited,
> status=0/SUCCESS)
>   Process: 406 ExecStart=/usr/bin/zkServer.sh start (code=exited,
> status=0/SUCCESS)
>  Main PID: 414 (code=killed, signal=KILL)
>
> Nov 05 11:23:29 magenta zookeeper[656]: Stopping zookeeper ... STOPPED
> Nov 05 11:23:29 magenta systemd[1]: zookeeper.service: main process
> exited, code=killed, status=9/KILL
> Nov 05 11:23:29 magenta systemd[1]: Unit zookeeper.service entered failed 
> state.
> ---------------8<---------------
>
> There is no way to make this `status=9/KILL` to be recognized by
> Systemd as a regular exit code, even with `SuccessExitStatus=9 KILL
> SIGKILL`. On the other hand, turning this `kill -9` into a regular
> `kill` (-15 implied) makes it:
>
> ---------------8<---------------
> # sudo systemctl status zookeeper.service
> ● zookeeper.service - Highly reliable distributed coordination server
>    Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; disabled)
>    Active: inactive (dead)
>
> Nov 05 11:14:27 magenta zookeeper[30032]: Using config:
> /usr/share/zookeeper/bin/../conf/zoo.cfg
> Nov 05 11:14:27 magenta zookeeper[30032]: Stopping zookeeper ... STOPPED
> ---------------8<---------------
>
> I would gladly submit a tiny patch for this (and maybe also submit the
> service file) but would first like to have your opinion on the reasons
> to use SIGKILL.
>
> [0] 
> https://github.com/galaux/aurpkgs/blob/master/zookeeper/systemd_zookeeper.service
> [1] 
> https://github.com/galaux/aurpkgs/blob/master/zookeeper/systemd_zookeeper%40.service
>
> --
> Guillaume

Reply via email to