Author: atm
Date: Fri May 11 16:18:26 2012
New Revision: 1337254

URL: http://svn.apache.org/viewvc?rev=1337254&view=rev
Log:
HADOOP-8353. hadoop-daemon.sh and yarn-daemon.sh can be misleading on stop. 
Contributed by Roman Shaposhnik.

Modified:
    
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/CHANGES.txt
    
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh

Modified: 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1337254&r1=1337253&r2=1337254&view=diff
==============================================================================
--- 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/CHANGES.txt
 (original)
+++ 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/CHANGES.txt
 Fri May 11 16:18:26 2012
@@ -164,6 +164,9 @@ Release 2.0.0 - UNRELEASED
     HADOOP-8356. FileSystem service loading mechanism should print the 
FileSystem 
     impl it is failing to load (tucu)
 
+    HADOOP-8353. hadoop-daemon.sh and yarn-daemon.sh can be misleading on stop.
+    (Roman Shaposhnik via atm)
+
   OPTIMIZATIONS
 
   BUG FIXES

Modified: 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh?rev=1337254&r1=1337253&r2=1337254&view=diff
==============================================================================
--- 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
 (original)
+++ 
hadoop/common/branches/branch-2.0.0-alpha/hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh
 Fri May 11 16:18:26 2012
@@ -111,6 +111,7 @@ export HADOOP_ROOT_LOGGER=${HADOOP_ROOT_
 export HADOOP_SECURITY_LOGGER=${HADOOP_SECURITY_LOGGER:-"INFO,RFAS"}
 log=$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.out
 pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
+HADOOP_STOP_TIMEOUT=${HADOOP_STOP_TIMEOUT:-5}
 
 # Set default scheduling priority
 if [ "$HADOOP_NICENESS" = "" ]; then
@@ -162,9 +163,15 @@ case $startStop in
   (stop)
 
     if [ -f $pid ]; then
-      if kill -0 `cat $pid` > /dev/null 2>&1; then
+      TARGET_PID=`cat $pid`
+      if kill -0 $TARGET_PID > /dev/null 2>&1; then
         echo stopping $command
-        kill `cat $pid`
+        kill $TARGET_PID
+        sleep $HADOOP_STOP_TIMEOUT
+        if kill -0 $TARGET_PID > /dev/null 2>&1; then
+          echo "$command did not stop gracefully after $HADOOP_STOP_TIMEOUT 
seconds: killing with kill -9"
+          kill -9 $TARGET_PID
+        fi
       else
         echo no $command to stop
       fi


Reply via email to