You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Zhijie Shen (JIRA)" <ji...@apache.org> on 2014/08/21 23:36:13 UTC

[jira] [Created] (MAPREDUCE-6044) Fully qualified intermediate done directory will break per-user dir creation on Windows

Zhijie Shen created MAPREDUCE-6044:
--------------------------------------

             Summary: Fully qualified intermediate done directory will break per-user dir creation on Windows
                 Key: MAPREDUCE-6044
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6044
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: jobhistoryserver
    Affects Versions: 3.0.0, 2.6.0
         Environment: Windows
            Reporter: Zhijie Shen
            Assignee: Zhijie Shen


After MAPREDUCE-6032, the string of the intermediate done dir will be a fully qualified path.

The following code in JobHistroyUtils tries to concat this path and user name to create a per-user dir path, using File.separator as the seperator (on Windows, it is "\").

{code}
  public static String getHistoryIntermediateDoneDirForUser(Configuration conf) throws IOException {
    return getConfiguredHistoryIntermediateDoneDirPrefix(conf) + File.separator
        + UserGroupInformation.getCurrentUser().getShortUserName();
  }
{code}

Therefore, an intermediate done dir for user will become "hdfs://localhost:9201/mapred/history/done_intermediate\user". With the scheme available in the path, Path class will not replace "\" with "/", and finally FS cannot handle this path correctly: it will take "done_intermediateuser" as a single directory name.



--
This message was sent by Atlassian JIRA
(v6.2#6252)