HADOOP-13830. Intermittent failure of ITestS3NContractRootDir#testRecursiveRootListing: "Can not create a Path from an empty string". Contributed by Steve Loughran
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3fd844b9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3fd844b9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3fd844b9 Branch: refs/heads/YARN-5734 Commit: 3fd844b99fdfae6be6e5e261f371d175aad14229 Parents: 4fca94f Author: Mingliang Liu <lium...@apache.org> Authored: Wed Nov 30 13:01:02 2016 -0800 Committer: Mingliang Liu <lium...@apache.org> Committed: Wed Nov 30 13:01:19 2016 -0800 ---------------------------------------------------------------------- .../org/apache/hadoop/fs/s3native/NativeS3FileSystem.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3fd844b9/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java index f741298..1a45db3 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java @@ -587,7 +587,12 @@ public class NativeS3FileSystem extends FileSystem { for (String commonPrefix : listing.getCommonPrefixes()) { Path subpath = keyToPath(commonPrefix); String relativePath = pathUri.relativize(subpath.toUri()).getPath(); - status.add(newDirectory(new Path(absolutePath, relativePath))); + // sometimes the common prefix includes the base dir (HADOOP-13830). + // avoid that problem by detecting it and keeping it out + // of the list + if (!relativePath.isEmpty()) { + status.add(newDirectory(new Path(absolutePath, relativePath))); + } } priorLastKey = listing.getPriorLastKey(); } while (priorLastKey != null); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org