浏览代码

MAPREDUCE-3154. Fix JobSubmitter to check for output specs before copying job submission files to fail fast. Contributed by Abhijit Suresh Shingate.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1180774 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 13 年之前
父节点
当前提交
d0016c6120

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -1555,6 +1555,9 @@ Release 0.23.0 - Unreleased
     MAPREDUCE-3123. Fix NM to quote symlink names to escape special
     characters. (Hitesh Shah via acmurthy) 
 
+    MAPREDUCE-3154. Fix JobSubmitter to check for output specs before copying
+    job submission files to fail fast. (Abhijit Suresh Shingate via acmurthy) 
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 3 - 2
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/JobSubmitter.java

@@ -322,6 +322,9 @@ class JobSubmitter {
   JobStatus submitJobInternal(Job job, Cluster cluster) 
   throws ClassNotFoundException, InterruptedException, IOException {
 
+    //validate the jobs output specs 
+    checkSpecs(job);
+    
     Path jobStagingArea = JobSubmissionFiles.getStagingDir(cluster, 
                                                      job.getConfiguration());
     //configure the command line options correctly on the submitting dfs
@@ -350,8 +353,6 @@ class JobSubmitter {
       copyAndConfigureFiles(job, submitJobDir);
       Path submitJobFile = JobSubmissionFiles.getJobConfPath(submitJobDir);
 
-      checkSpecs(job);
-      
       // Create the splits for the job
       LOG.debug("Creating splits at " + jtFs.makeQualified(submitJobDir));
       int maps = writeSplits(job, submitJobDir);