You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by jh...@apache.org on 2015/12/03 07:40:53 UTC
tajo git commit: TAJO-1998: Waiting for gracefully stopping in
tajo-deamon.sh is too short.
Repository: tajo
Updated Branches:
refs/heads/master 8c8048a44 -> e8dc34375
TAJO-1998: Waiting for gracefully stopping in tajo-deamon.sh is too short.
Closes #885
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/e8dc3437
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/e8dc3437
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/e8dc3437
Branch: refs/heads/master
Commit: e8dc34375d4fac329d5e79d17a221af007de814e
Parents: 8c8048a
Author: Jinho Kim <jh...@apache.org>
Authored: Thu Dec 3 15:40:07 2015 +0900
Committer: Jinho Kim <jh...@apache.org>
Committed: Thu Dec 3 15:40:07 2015 +0900
----------------------------------------------------------------------
CHANGES | 3 +++
tajo-dist/src/main/bin/stop-tajo.sh | 25 +++++++++++--------------
tajo-dist/src/main/bin/tajo-daemon.sh | 13 +++++++++++--
3 files changed, 25 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/e8dc3437/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index a1ba896..75fc9ca 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,9 @@ Release 0.12.0 - unreleased
IMPROVEMENT
+ TAJO-1998: Waiting for gracefully stopping in tajo-deamon.sh is too short.
+ (jinho)
+
TAJO-1985: Supporting Metric report via JMX. (Yongjun Park via jinho)
TAJO-1983: Improve memory usage of ExternalSortExec. (jinho)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e8dc3437/tajo-dist/src/main/bin/stop-tajo.sh
----------------------------------------------------------------------
diff --git a/tajo-dist/src/main/bin/stop-tajo.sh b/tajo-dist/src/main/bin/stop-tajo.sh
index 32a4a4c..c12d3e3 100755
--- a/tajo-dist/src/main/bin/stop-tajo.sh
+++ b/tajo-dist/src/main/bin/stop-tajo.sh
@@ -24,22 +24,8 @@ bin=`cd "$bin"; pwd`
. "$bin"/tajo-config.sh
-# stop the tajo master daemon
AUTOHA_ENABLED=$("$bin"/tajo getconf tajo.master.ha.enable)
-if [ "$AUTOHA_ENABLED" = "true" ]; then
- echo "Stopping TajoMasters on HA mode"
- if [ -f "${TAJO_CONF_DIR}/masters" ]; then
- MASTER_FILE=${TAJO_CONF_DIR}/masters
- MASTER_NAMES=$(cat "$MASTER_FILE" | sed 's/#.*$//;/^$/d')
- "$bin/tajo-daemons.sh" --hosts masters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" stop master
- fi
-else
- echo "Stopping single TajoMaster"
- "$bin"/tajo-daemon.sh --config $TAJO_CONF_DIR stop master
-fi
-
-
if [ -f "${TAJO_CONF_DIR}/tajo-env.sh" ]; then
. "${TAJO_CONF_DIR}/tajo-env.sh"
fi
@@ -49,3 +35,14 @@ if [ "$TAJO_PULLSERVER_STANDALONE" = "true" ]; then
"$bin/tajo-daemons.sh" cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" stop pullserver
fi
+# stop the tajo master daemon
+if [ "$AUTOHA_ENABLED" = "true" ]; then
+ echo "Stopping TajoMasters on HA mode"
+ if [ -f "${TAJO_CONF_DIR}/masters" ]; then
+ MASTER_FILE=${TAJO_CONF_DIR}/masters
+ MASTER_NAMES=$(cat "$MASTER_FILE" | sed 's/#.*$//;/^$/d')
+ "$bin/tajo-daemons.sh" --hosts masters cd "$TAJO_HOME" \; "$bin/tajo-daemon.sh" stop master
+ fi
+else
+ "$bin"/tajo-daemon.sh --config $TAJO_CONF_DIR stop master
+fi
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tajo/blob/e8dc3437/tajo-dist/src/main/bin/tajo-daemon.sh
----------------------------------------------------------------------
diff --git a/tajo-dist/src/main/bin/tajo-daemon.sh b/tajo-dist/src/main/bin/tajo-daemon.sh
index 6343df7..0cb8737 100755
--- a/tajo-dist/src/main/bin/tajo-daemon.sh
+++ b/tajo-dist/src/main/bin/tajo-daemon.sh
@@ -95,7 +95,7 @@ fi
export TAJO_LOGFILE=tajo-$TAJO_IDENT_STRING-$command-$HOSTNAME.log
export TAJO_ROOT_LOGGER_APPENDER="${TAJO_ROOT_LOGGER_APPENDER:-DRFA}"
export TAJO_PULLSERVER_STANDALONE="${TAJO_PULLSERVER_STANDALONE:-false}"
-export TAJO_STOP_TIMEOUT=${TAJO_STOP_TIMEOUT:-2}
+export TAJO_STOP_TIMEOUT=${TAJO_STOP_TIMEOUT:-5}
log=$TAJO_LOG_DIR/tajo-$TAJO_IDENT_STRING-$command-$HOSTNAME.out
pid=$TAJO_PID_DIR/tajo-$TAJO_IDENT_STRING-$command.pid
@@ -137,7 +137,16 @@ case $startStop in
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo stopping $command
kill $TARGET_PID
- sleep $TAJO_STOP_TIMEOUT
+
+ for (( c=1; c<=$TAJO_STOP_TIMEOUT; c++ ))
+ do
+ if kill -0 $TARGET_PID > /dev/null 2>&1; then
+ sleep 1
+ else
+ break
+ fi
+ done
+
if kill -0 $TARGET_PID > /dev/null 2>&1; then
echo "$command did not stop gracefully after $TAJO_STOP_TIMEOUT seconds: killing with kill -9"
kill -9 $TARGET_PID