HADOOP-13163 Reuse pre-computed filestatus in Distcp-CopyMapper (Rajesh Balamohan via stevel)

This commit is contained in:
Steve Loughran 2016-05-17 12:59:59 +01:00
parent b357930526
commit c69a649257

View File

@ -182,7 +182,7 @@ public void map(Text relPath, CopyListingFileStatus sourceFileStatus,
return;
}
FileAction action = checkUpdate(sourceFS, sourceCurrStatus, target);
FileAction action = checkUpdate(sourceFS, sourceCurrStatus, target, targetStatus);
if (action == FileAction.SKIP) {
LOG.info("Skipping copy of " + sourceCurrStatus.getPath()
+ " to " + target);
@ -270,13 +270,7 @@ private static void incrementCounter(Context context, Counter counter,
}
private FileAction checkUpdate(FileSystem sourceFS, FileStatus source,
Path target) throws IOException {
final FileStatus targetFileStatus;
try {
targetFileStatus = targetFS.getFileStatus(target);
} catch (FileNotFoundException e) {
return FileAction.OVERWRITE;
}
Path target, FileStatus targetFileStatus) throws IOException {
if (targetFileStatus != null && !overWrite) {
if (canSkip(sourceFS, source, targetFileStatus)) {
return FileAction.SKIP;