[ASTERIXDB-2032]Let stop-sample-cluster.sh to kill processes.
Change-Id: I44d75e518cca604273790aa1d862ca5764fa6395
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1933
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/asterixdb/asterix-server/src/main/opt/local/bin/stop-sample-cluster.sh b/asterixdb/asterix-server/src/main/opt/local/bin/stop-sample-cluster.sh
index dbce377..f33f403 100755
--- a/asterixdb/asterix-server/src/main/opt/local/bin/stop-sample-cluster.sh
+++ b/asterixdb/asterix-server/src/main/opt/local/bin/stop-sample-cluster.sh
@@ -25,6 +25,16 @@
echo " -f[orce] : Forcibly terminates any running ${PRODUCT} processes (after shutting down cluster, if running)"
}
+function kill_procs() {
+ cat /tmp/$$_pids | while read line; do
+ if [ $minus_nine ]; then
+ echo $line | awk '{ print $2 }' | xargs -n1 kill -9
+ else
+ echo $line | awk '{ print $2 }' | xargs -n1 kill
+ fi
+ done
+}
+
while [ -n "$1" ]; do
case $1 in
-f|-force) force=1;;
@@ -58,7 +68,10 @@
INSTALLDIR=$(cd "$CLUSTERDIR/../.."; echo $PWD)
"$INSTALLDIR/bin/${HELPER_COMMAND}" get_cluster_state -quiet
if [ $? -ne 1 ]; then
- "$INSTALLDIR/bin/${HELPER_COMMAND}" shutdown_cluster_all
+ if ps -ef | grep 'java.*org\.apache\.hyracks\.control\.[cn]c\.\([CN]CDriver\|service\.NCService\)' > /tmp/$$_pids; then
+ minus_nine=0;
+ kill_procs;
+ fi
first=1
tries=0
echo -n "INFO: Waiting up to 60s for cluster to shutdown"
@@ -79,12 +92,8 @@
if ps -ef | grep 'java.*org\.apache\.hyracks\.control\.[cn]c\.\([CN]CDriver\|service\.NCService\)' > /tmp/$$_pids; then
echo -n "WARNING: ${PRODUCT} processes remain after cluster shutdown; "
if [ $force ]; then
- echo "-f[orce] specified, forcibly terminating ${PRODUCT} processes:"
- cat /tmp/$$_pids | while read line; do
- echo -n " - $line..."
- echo $line | awk '{ print $2 }' | xargs -n1 kill -9
- echo "killed"
- done
+ minus_nine=1;
+ kill_procs;
else
echo "re-run with -f|-force to forcibly terminate all ${PRODUCT} processes:"
cat /tmp/pids | sed 's/^ *[0-9]* \([0-9]*\).*org\.apache\.hyracks\.control\.[cn]c[^ ]*\.\([^ ]*\) .*/\1 - \2/'