From de3ca00fed37c52875401135645e1fd10ef59ba2 Mon Sep 17 00:00:00 2001 From: Ayush Saxena Date: Sat, 6 Jun 2020 19:20:34 +0530 Subject: [PATCH 1/2] HDFS-15396. Fix TestViewFileSystemOverloadSchemeHdfsFileSystemContract#testListStatusRootDir. --- ...estViewFileSystemOverloadSchemeHdfsFileSystemContract.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java index 03c29c927e5ff..a7826919241f2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java @@ -76,9 +76,9 @@ public void setUp() throws Exception { URI defaultFSURI = URI.create(conf.get(CommonConfigurationKeys.FS_DEFAULT_NAME_KEY)); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/user", - defaultFSURI); + new URI(defaultFSURI.toString() + "/user")); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/append", - defaultFSURI); + new URI(defaultFSURI.toString() + "/append")); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/FileSystemContractBaseTest/", new URI(defaultFSURI.toString() + "/FileSystemContractBaseTest/")); From 786007c3bbb8443c60b326ab1122996ea94b7d34 Mon Sep 17 00:00:00 2001 From: Ayush Saxena Date: Sun, 7 Jun 2020 11:56:23 +0530 Subject: [PATCH 2/2] Resolve empty path to root in liststatus --- .../main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java | 3 +++ ...estViewFileSystemOverloadSchemeHdfsFileSystemContract.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java index 142785a88e4cd..2711bff0ff2f1 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java @@ -1202,6 +1202,9 @@ public FileStatus[] listStatus(Path f) throws AccessControlException, INodeLink link = (INodeLink) inode; try { String linkedPath = link.getTargetFileSystem().getUri().getPath(); + if("".equals(linkedPath)) { + linkedPath = "/"; + } FileStatus status = ((ChRootedFileSystem)link.getTargetFileSystem()) .getMyFs().getFileStatus(new Path(linkedPath)); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java index a7826919241f2..03c29c927e5ff 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/viewfs/TestViewFileSystemOverloadSchemeHdfsFileSystemContract.java @@ -76,9 +76,9 @@ public void setUp() throws Exception { URI defaultFSURI = URI.create(conf.get(CommonConfigurationKeys.FS_DEFAULT_NAME_KEY)); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/user", - new URI(defaultFSURI.toString() + "/user")); + defaultFSURI); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/append", - new URI(defaultFSURI.toString() + "/append")); + defaultFSURI); ConfigUtil.addLink(conf, defaultFSURI.getAuthority(), "/FileSystemContractBaseTest/", new URI(defaultFSURI.toString() + "/FileSystemContractBaseTest/"));