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 om...@apache.org on 2008/03/26 19:51:31 UTC
svn commit: r641477 - in /hadoop/core/branches/branch-0.16: CHANGES.txt
src/java/org/apache/hadoop/util/CopyFiles.java
Author: omalley
Date: Wed Mar 26 11:51:13 2008
New Revision: 641477
URL: http://svn.apache.org/viewvc?rev=641477&view=rev
Log:
Merge -r 641465:641466 from trunk to branch 0.16 to fix HADOOP-3056.
Modified:
hadoop/core/branches/branch-0.16/CHANGES.txt
hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/util/CopyFiles.java
Modified: hadoop/core/branches/branch-0.16/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.16/CHANGES.txt?rev=641477&r1=641476&r2=641477&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.16/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.16/CHANGES.txt Wed Mar 26 11:51:13 2008
@@ -39,6 +39,10 @@
HADOOP-3027. Fixes a problem to do with adding a shutdown hook in
FileSystem. (Amareshwari Sriramadasu via ddas)
+ HADOOP-3056. Fix distcp when the target is an empty directory by
+ making sure the directory is created first. (cdouglas and acmurthy
+ via omalley)
+
Release 0.16.1 - 2008-03-13
INCOMPATIBLE CHANGES
Modified: hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/util/CopyFiles.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/util/CopyFiles.java?rev=641477&r1=641476&r2=641477&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/util/CopyFiles.java (original)
+++ hadoop/core/branches/branch-0.16/src/java/org/apache/hadoop/util/CopyFiles.java Wed Mar 26 11:51:13 2008
@@ -142,6 +142,9 @@
input.write(out);
Text.writeString(out, output.toString());
}
+ public String toString() {
+ return input.toString() + " : " + output.toString();
+ }
}
/**
@@ -338,6 +341,9 @@
destFileSys.getFileStatus(absdst).isDir()) {
throw new IOException(absdst + " is a directory");
}
+ if (!destFileSys.mkdirs(absdst.getParent())) {
+ throw new IOException("Failed to craete parent dir: " + absdst.getParent());
+ }
rename(destFileSys, tmpfile, absdst);
}
@@ -354,7 +360,9 @@
if (fs.exists(dst)) {
fs.delete(dst);
}
- fs.rename(tmp, dst);
+ if (!fs.rename(tmp, dst)) {
+ throw new IOException();
+ }
}
catch(IOException cause) {
IOException ioe = new IOException("Fail to rename tmp file (=" + tmp