[ https://issues.apache.org/jira/browse/CASSANDRA-8738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Donald Smith updated CASSANDRA-8738: ------------------------------------ Description: Sometimes I do {{/etc/init.d/cassandra stop}} and it prints out OK, but the server is still running. (This happens, for example, if it's busy doing GCs.) The current init script prints out OK after sleeping but without checking if the process really stopped. I suggest changing it to: {noformat} pd0-cassandra16 ~> diff -C 1 cassandra cassandra-original *** cassandra 2015-02-04 09:15:58.088209988 -0800 --- cassandra-original 2015-02-04 09:15:40.293767501 -0800 *************** *** 69,77 **** sleep 5 ! THE_STATUS=`$0 status` ! if [[ $THE_STATUS == *"stopped"* ]] ! then ! echo "OK" ! else ! echo "ERROR: could not stop the process: $THE_STATUS" ! fi ;; --- 69,71 ---- sleep 5 ! echo "OK" ;; {noformat} Then it prints out OK only if the stop succeeded. Otherwise it prints out a message like {quote} ERROR: could not stop the process: cassandra (pid 10764) is running... {quote} was: Sometimes I do {{/etc/init.d/cassandra stop}} and it prints out OK, but the server is still running. (This happens, for example, if it's busy doing GCs.) The current init script prints out OK after sleeping but without checking if the process really stopped. I suggest changing it to: {noformat} pd0-cassandra16 ~> diff -C 1 cassandra cassandra-original *** cassandra 2015-02-04 09:15:58.088209988 -0800 --- cassandra-original 2015-02-04 09:15:40.293767501 -0800 *************** *** 69,77 **** sleep 5 ! THE_STATUS=`$0 status` ! if [[ $THE_STATUS == *"stopped"* ]] ! then ! echo "OK" ! else ! echo "ERROR: could not stop the process: $THE_STATUS" ! fi ;; --- 69,71 ---- sleep 5 ! echo "OK" ;; {noformat} Then it prints out OK only if the stop succeeded. Otherwise it prints out a message like {quote} "ERROR: could not stop the process: cassandra (pid 10764) is running... {quote} > "/etc/init.d/cassandra stop" prints OK even when it doesn't work > ---------------------------------------------------------------- > > Key: CASSANDRA-8738 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8738 > Project: Cassandra > Issue Type: Improvement > Reporter: Donald Smith > > Sometimes I do {{/etc/init.d/cassandra stop}} and it prints out OK, but the > server is still running. (This happens, for example, if it's busy doing > GCs.) The current init script prints out OK after sleeping but without > checking if the process really stopped. I suggest changing it to: > {noformat} > pd0-cassandra16 ~> diff -C 1 cassandra cassandra-original > *** cassandra 2015-02-04 09:15:58.088209988 -0800 > --- cassandra-original 2015-02-04 09:15:40.293767501 -0800 > *************** > *** 69,77 **** > sleep 5 > ! THE_STATUS=`$0 status` > ! if [[ $THE_STATUS == *"stopped"* ]] > ! then > ! echo "OK" > ! else > ! echo "ERROR: could not stop the process: $THE_STATUS" > ! fi > ;; > --- 69,71 ---- > sleep 5 > ! echo "OK" > ;; > {noformat} > Then it prints out OK only if the stop succeeded. Otherwise it prints out a > message like > {quote} > ERROR: could not stop the process: cassandra (pid 10764) is running... > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)