Author: hairong
Date: Thu Dec 4 13:54:17 2008
New Revision: 723460
URL: http://svn.apache.org/viewvc?rev=723460&view=rev
Log:
HADOOP-4746. Job output directory should be normalized. Contributed by Hairong
Kuang.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/FileOutputFormat.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=723460&r1=723459&r2=723460&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Thu Dec 4 13:54:17 2008
@@ -1321,6 +1321,8 @@
HADOOP-4679. Datanode prints tons of log messages: waiting for threadgroup
to exit, active threads is XX. (hairong)
+ HADOOP-4746. Job output directory should be normalized. (hairong)
+
Release 0.18.2 - 2008-11-03
BUG FIXES
Modified:
hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/FileOutputFormat.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/FileOutputFormat.java?rev=723460&r1=723459&r2=723460&view=diff
==============================================================================
--- hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/FileOutputFormat.java
(original)
+++ hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/FileOutputFormat.java
Thu Dec 4 13:54:17 2008
@@ -101,9 +101,16 @@
if (outDir == null && job.getNumReduceTasks() != 0) {
throw new InvalidJobConfException("Output directory not set in
JobConf.");
}
- if (outDir != null && outDir.getFileSystem(job).exists(outDir)) {
- throw new FileAlreadyExistsException("Output directory " + outDir +
- " already exists");
+ if (outDir != null) {
+ FileSystem fs = outDir.getFileSystem(job);
+ // normalize the output directory
+ outDir = fs.makeQualified(outDir);
+ setOutputPath(job, outDir);
+ // check its existence
+ if (fs.exists(outDir)) {
+ throw new FileAlreadyExistsException("Output directory " + outDir +
+ " already exists");
+ }
}
}