1
0
Selaa lähdekoodia

HADOOP-11724. DistCp throws NPE when the target directory is root. (Lei Eddy Xu via Yongjun Zhang)

Yongjun Zhang 10 vuotta sitten
vanhempi
commit
44809b8081

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

@@ -469,6 +469,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-10027. *Compressor_deflateBytesDirect passes instance instead of
     HADOOP-10027. *Compressor_deflateBytesDirect passes instance instead of
     jclass to GetStaticObjectField. (Hui Zheng via cnauroth)
     jclass to GetStaticObjectField. (Hui Zheng via cnauroth)
 
 
+    HADOOP-11724. DistCp throws NPE when the target directory is root.
+    (Lei Eddy Xu via Yongjun Zhang) 
+
 Release 2.7.0 - UNRELEASED
 Release 2.7.0 - UNRELEASED
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 3 - 0
hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/CopyCommitter.java

@@ -133,6 +133,9 @@ public class CopyCommitter extends FileOutputCommitter {
   private void deleteAttemptTempFiles(Path targetWorkPath,
   private void deleteAttemptTempFiles(Path targetWorkPath,
                                       FileSystem targetFS,
                                       FileSystem targetFS,
                                       String jobId) throws IOException {
                                       String jobId) throws IOException {
+    if (targetWorkPath == null) {
+      return;
+    }
 
 
     FileStatus[] tempFiles = targetFS.globStatus(
     FileStatus[] tempFiles = targetFS.globStatus(
         new Path(targetWorkPath, ".distcp.tmp." + jobId.replaceAll("job","attempt") + "*"));
         new Path(targetWorkPath, ".distcp.tmp." + jobId.replaceAll("job","attempt") + "*"));