[ 
https://issues.apache.org/jira/browse/HADOOP-3598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606575#action_12606575
 ] 

Doug Cutting commented on HADOOP-3598:
--------------------------------------

Every call to createWorkDir is in a sequence like:

{code}
    Path taskOutputDir = createWorkDir(job);
    if (taskOutputDir == null) {
      throw new IOException("Could not create task output directory");
    Path file = new Path(taskOutputDir, name);
{code}

At a minimum, the null test and exception can be added to createWorkDir, no?

And perhaps the method can also create the path, e.g., the equivalent of:

{code}
protected Path createOutputPath(job, name) {
  return new Path(createWorkDir(job), name);
}
{code}


> Map-Reduce framework needlessly creates temporary _${taskid} directories for 
> Maps
> ---------------------------------------------------------------------------------
>
>                 Key: HADOOP-3598
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3598
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.18.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>            Priority: Blocker
>             Fix For: 0.18.0
>
>         Attachments: HADOOP-3598_0_20080619.patch, 
> HADOOP-3598_0_20080619.patch
>
>
> The staging directory for task-outputs (i.e. 
> ${mapred.out.dir}/_temporary/_${taskid}) should only be created when Maps 
> produce output on HDFS, which usually isn't the case. This plays very badly 
> with HDFS quotas and may lead to thousands of temp names in the FS namespace, 
> there-by overhauling the quotas. IAC, it isn't good to needlessly create 
> these directories.

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