HADOOP-15150. in FsShell, UGI params should be overidden through env vars(-D arg). Contributed by Brahma Reddy Battula.
(cherry picked from commit 08332e12d055d85472f0c9371fefe9b56bfea1ed) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8181367c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8181367c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8181367c Branch: refs/heads/branch-2 Commit: 8181367c623f3a5a042cc7fa3ecd3047e202ea1d Parents: b0c9b89 Author: Brahma Reddy Battula <bra...@apache.org> Authored: Thu Jan 18 10:54:32 2018 +0530 Committer: Brahma Reddy Battula <bra...@apache.org> Committed: Thu Jan 18 10:56:58 2018 +0530 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/fs/FsShell.java | 2 ++ .../java/org/apache/hadoop/fs/TestFsShellList.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8181367c/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FsShell.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FsShell.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FsShell.java index eccfbfc..0bf72c9 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FsShell.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FsShell.java @@ -30,6 +30,7 @@ import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.shell.Command; import org.apache.hadoop.fs.shell.CommandFactory; import org.apache.hadoop.fs.shell.FsCommand; +import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.tools.TableListing; import org.apache.hadoop.tracing.TraceUtils; import org.apache.hadoop.util.StringUtils; @@ -92,6 +93,7 @@ public class FsShell extends Configured implements Tool { protected void init() throws IOException { getConf().setQuietMode(true); + UserGroupInformation.setConfiguration(getConf()); if (commandFactory == null) { commandFactory = new CommandFactory(getConf()); commandFactory.addObject(new Help(), "-help"); http://git-wip-us.apache.org/repos/asf/hadoop/blob/8181367c/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellList.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellList.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellList.java index 03720d3..c780f41 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellList.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellList.java @@ -75,4 +75,18 @@ public class TestFsShellList { lsArgv = new String[]{"-ls", "-q", testRootDir.toString()}; assertThat(shell.run(lsArgv), is(0)); } + + /* + UGI params should take effect when we pass. + */ + @Test(expected = IllegalArgumentException.class) + public void testListWithUGI() throws Exception { + FsShell fsShell = new FsShell(new Configuration()); + //Passing Dummy such that it should through IAE + fsShell.getConf() + .set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION, + "DUMMYAUTH"); + String[] lsArgv = new String[] {"-ls", testRootDir.toString()}; + fsShell.run(lsArgv); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org