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 ae...@apache.org on 2019/04/22 22:47:53 UTC
[hadoop] branch trunk updated: HADOOP-16026:Replace incorrect use
of system property user.name. Contributed by Dinesh Chitlangia.
This is an automated email from the ASF dual-hosted git repository.
aengineer pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new f4ab937 HADOOP-16026:Replace incorrect use of system property user.name. Contributed by Dinesh Chitlangia.
f4ab937 is described below
commit f4ab9370f5e88a61341826a732e7d00fbc7649ab
Author: Anu Engineer <ae...@apache.org>
AuthorDate: Mon Apr 22 12:01:15 2019 -0700
HADOOP-16026:Replace incorrect use of system property user.name.
Contributed by Dinesh Chitlangia.
---
.../main/java/org/apache/hadoop/fs/AbstractFileSystem.java | 13 +++++++++++--
.../src/main/java/org/apache/hadoop/fs/FileSystem.java | 10 +++++++++-
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java
index dc6cd2b..6e82543 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java
@@ -51,6 +51,7 @@ import org.apache.hadoop.fs.permission.FsAction;
import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.hadoop.security.AccessControlException;
import org.apache.hadoop.security.SecurityUtil;
+import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.util.LambdaUtils;
import org.apache.hadoop.util.Progressable;
@@ -456,8 +457,16 @@ public abstract class AbstractFileSystem {
* @return current user's home directory.
*/
public Path getHomeDirectory() {
- return new Path("/user/"+System.getProperty("user.name")).makeQualified(
- getUri(), null);
+ String username;
+ try {
+ username = UserGroupInformation.getCurrentUser().getShortUserName();
+ } catch(IOException ex) {
+ LOG.warn("Unable to get user name. Fall back to system property " +
+ "user.name", ex);
+ username = System.getProperty("user.name");
+ }
+ return new Path("/user/" + username)
+ .makeQualified(getUri(), null);
}
/**
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
index efb675c..19f38af 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
@@ -2241,8 +2241,16 @@ public abstract class FileSystem extends Configured
* The default implementation returns {@code "/user/$USER/"}.
*/
public Path getHomeDirectory() {
+ String username;
+ try {
+ username = UserGroupInformation.getCurrentUser().getShortUserName();
+ } catch(IOException ex) {
+ LOGGER.warn("Unable to get user name. Fall back to system property " +
+ "user.name", ex);
+ username = System.getProperty("user.name");
+ }
return this.makeQualified(
- new Path(USER_HOME_PREFIX + "/" + System.getProperty("user.name")));
+ new Path(USER_HOME_PREFIX + "/" + username));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org