[ 
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.

Reply via email to