Guillaume ALAUX created ZOOKEEPER-2079:
------------------------------------------

             Summary: Stop daemon with "kill" rather than "kill -9"
                 Key: ZOOKEEPER-2079
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2079
             Project: ZooKeeper
          Issue Type: Improvement
          Components: scripts
         Environment: *nix
            Reporter: Guillaume ALAUX
            Priority: Minor


Script `zkServer.sh` stops zookeeper by sending the java process a `kill -9` 
(SIGKILL). As there seems to be no technical reasons to use such a radical 
signal rather than the default SIGTERM (-15), I would propose to just use 
`kill` rather than `kill -9`.

My use case is for Systemd service files for Zookeeper which always consider 
Zookeeper java process as failing when a clean `stop` is issued.

Systemd output showing this "fail":
---------------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<---------------



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to