[
https://issues.apache.org/jira/browse/HADOOP-3508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626553#action_12626553
]
Steve Loughran commented on HADOOP-3508:
----------------------------------------
System.getProperty("user.name") does work on unix; it returns what the JVM
thinks is the user name. But there is no guarantee that on windows, even that
name will not have a space in it. all the code downstream had better be
prepared for that.
> Namenode couldn't execute when the user name contains a space
> -------------------------------------------------------------
>
> Key: HADOOP-3508
> URL: https://issues.apache.org/jira/browse/HADOOP-3508
> Project: Hadoop Core
> Issue Type: Improvement
> Components: dfs
> Affects Versions: 0.17.0
> Environment: Windows XP, Windows 2003 Server
> Reporter: NOMURA Yoshihide
>
> The Hadoop Namenode couldn't execute as Windows service,
> because UnixUserGroupInformation#getUnixUserName() throws IOException.
> The 'whoami' command output is 'nt authority\system' in default Windows
> service,
> so I suggest to change the method like follows:
> static String getUnixUserName() throws IOException {
> String[] result = executeShellCommand(
> new String[]{Shell.USER_NAME_COMMAND});
> if (Shell.WINDOWS) {
> return toString(result);
> } else if (result.length!=1) {
> throw new IOException("Expect one token as the result of " +
> Shell.USER_NAME_COMMAND + ": " + toString(result));
> }
> return result[0];
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.