You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by li...@apache.org on 2020/06/08 17:50:47 UTC
[hadoop] branch branch-3.2 updated: HADOOP-17059.
ArrayIndexOfboundsException in ViewFileSystem#listStatus. Contributed by
hemanthboyina
This is an automated email from the ASF dual-hosted git repository.
liuml07 pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.2 by this push:
new 0eee1c8 HADOOP-17059. ArrayIndexOfboundsException in ViewFileSystem#listStatus. Contributed by hemanthboyina
0eee1c8 is described below
commit 0eee1c88ecd7b59e2c4f3bbb56207cd6e90e26ca
Author: Mingliang Liu <li...@apache.org>
AuthorDate: Mon Jun 8 10:11:30 2020 -0700
HADOOP-17059. ArrayIndexOfboundsException in ViewFileSystem#listStatus. Contributed by hemanthboyina
---
.../apache/hadoop/fs/viewfs/ViewFileSystem.java | 2 +-
.../apache/hadoop/fs/viewfs/ViewFsBaseTest.java | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
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 f052743..a13b6ea 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
@@ -1182,7 +1182,7 @@ public class ViewFileSystem extends FileSystem {
} else {
result[i++] = new FileStatus(0, true, 0, 0,
creationTime, creationTime, PERMISSION_555,
- ugi.getShortUserName(), ugi.getGroupNames()[0],
+ ugi.getShortUserName(), ugi.getPrimaryGroupName(),
new Path(inode.fullPath).makeQualified(
myUri, null));
}
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/viewfs/ViewFsBaseTest.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/viewfs/ViewFsBaseTest.java
index d72ab74..f876390 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/viewfs/ViewFsBaseTest.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/viewfs/ViewFsBaseTest.java
@@ -55,6 +55,7 @@ import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.fs.FileContextTestHelper.fileType;
import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FsConstants;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.UnresolvedLinkException;
@@ -68,6 +69,7 @@ import org.apache.hadoop.security.AccessControlException;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.test.GenericTestUtils;
+import org.apache.hadoop.test.LambdaTestUtils;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -1003,4 +1005,24 @@ abstract public class ViewFsBaseTest {
return mockFs;
}
}
+
+ @Test
+ public void testListStatusWithNoGroups() throws Exception {
+ final UserGroupInformation userUgi = UserGroupInformation
+ .createUserForTesting("user@HADOOP.COM", new String[] {});
+ userUgi.doAs(new PrivilegedExceptionAction<Object>() {
+ @Override
+ public Object run() throws Exception {
+ String clusterName = Constants.CONFIG_VIEWFS_DEFAULT_MOUNT_TABLE;
+ URI viewFsUri =
+ new URI(FsConstants.VIEWFS_SCHEME, clusterName, "/", null, null);
+ FileSystem vfs = FileSystem.get(viewFsUri, conf);
+ LambdaTestUtils.intercept(IOException.class,
+ "There is no primary group for UGI", () -> vfs
+ .listStatus(new Path(viewFsUri.toString() + "internalDir")));
+ return null;
+ }
+ });
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org