ソースを参照

HADOOP-13496. Include file lengths in Mismatch in length error for distcp. Contributed by Ted Yu

Steve Loughran 8 年 前
コミット
77401bd5fc

+ 4 - 3
hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/mapred/RetriableFileCopyCommand.java

@@ -189,9 +189,10 @@ public class RetriableFileCopyCommand extends RetriableCommand {
                                   throws IOException {
                                   throws IOException {
     final Path sourcePath = sourceFileStatus.getPath();
     final Path sourcePath = sourceFileStatus.getPath();
     FileSystem fs = sourcePath.getFileSystem(configuration);
     FileSystem fs = sourcePath.getFileSystem(configuration);
-    if (fs.getFileStatus(sourcePath).getLen() != targetLen)
-      throw new IOException("Mismatch in length of source:" + sourcePath
-                + " and target:" + target);
+    long srcLen = fs.getFileStatus(sourcePath).getLen();
+    if (srcLen != targetLen)
+      throw new IOException("Mismatch in length of source:" + sourcePath + " (" + srcLen +
+          ") and target:" + target + " (" + targetLen + ")");
   }
   }
 
 
   private void compareCheckSums(FileSystem sourceFS, Path source,
   private void compareCheckSums(FileSystem sourceFS, Path source,