You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by su...@apache.org on 2012/11/30 19:41:59 UTC

svn commit: r1415785 - in /hadoop/common/branches/branch-1.1: CHANGES.txt src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java

Author: suresh
Date: Fri Nov 30 18:41:57 2012
New Revision: 1415785

URL: http://svn.apache.org/viewvc?rev=1415785&view=rev
Log:
MAPREDUCE-2374. Merge r1376639 from branch-1 to branch-1.1

Modified:
    hadoop/common/branches/branch-1.1/CHANGES.txt
    hadoop/common/branches/branch-1.1/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java

Modified: hadoop/common/branches/branch-1.1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.1/CHANGES.txt?rev=1415785&r1=1415784&r2=1415785&view=diff
==============================================================================
--- hadoop/common/branches/branch-1.1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1.1/CHANGES.txt Fri Nov 30 18:41:57 2012
@@ -1,5 +1,18 @@
 Hadoop Change Log
 
+Release 1.1.2 - 2012.11.18
+
+  INCOMPATIBLE CHANGES
+
+  NEW FEATURES
+
+  IMPROVEMENTS
+
+  BUG FIXES
+
+    MAPREDUCE-2374. "Text File Busy" errors launching MR tasks. (Andy Isaacson
+    via atm)
+
 Release 1.1.1 - 2012.11.18
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/branches/branch-1.1/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.1/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java?rev=1415785&r1=1415784&r2=1415785&view=diff
==============================================================================
--- hadoop/common/branches/branch-1.1/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java (original)
+++ hadoop/common/branches/branch-1.1/src/mapred/org/apache/hadoop/mapred/DefaultTaskController.java Fri Nov 30 18:41:57 2012
@@ -125,8 +125,17 @@ public class DefaultTaskController exten
 
       String commandFile = writeCommand(cmdLine, rawFs, p);
       rawFs.setPermission(p, TaskController.TASK_LAUNCH_SCRIPT_PERMISSION);
+      /*
+       * MAPREDUCE-2374: if another thread fork(2)ed a child process during the
+       * window when writeCommand (above) had taskjvm.sh open for write, that
+       * child process might still have a writeable fd open to the script.
+       *
+       * If we run the script with "bash -c /path/to/taskjvm.sh", then bash
+       * would try to execve(2) the script and get ETXTBSY.  Instead, just have
+       * bash interpret the script with "bash /path/to/taskjvm.sh".
+       */
       shExec = new ShellCommandExecutor(new String[]{
-          "bash", "-c", commandFile},
+          "bash", commandFile},
           currentWorkDirectory);
       shExec.execute();
     } catch (Exception e) {