[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rémy SAISSY updated MAPREDUCE-5264:
-----------------------------------

    Target Version/s: 3.0.0, 2.1.0-beta
              Status: Patch Available  (was: Open)

Hi,
in JobHistoryEverntHandler and HistoryFileManager, the 
FileAlreadyExistsException was only tracked for Logging purpose.

YarnChild.java::configureLocalDirs() tracked the FileAlreadyExistsException to 
determine which task should open the directory for write and which one for read.

<code>
      workDir = lDirAlloc.getLocalPathForWrite("work", job);
      FileSystem lfs = FileSystem.getLocal(job).getRaw();
      boolean madeDir = false;
      try {
        madeDir = lfs.mkdirs(workDir);
      } catch (FileAlreadyExistsException e) {
        madeDir = true;
        workDir = lDirAlloc.getLocalPathToRead("work", job);
}
<code>

However the method's goal according to its documentation is to create the 
mapred-local output directory. Shouldn't it be writable anyway?
I have removed the try catch and the read only open in the patch.

No need to modify or add any test case.
                
> FileAlreadyExistsException is assumed to be thrown by FileSystem#mkdirs or 
> FileContext#mkdir in the codebase
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5264
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5264
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.1.0-beta
>            Reporter: Rémy SAISSY
>
> According to https://issues.apache.org/jira/browse/HADOOP-9438,
> FileSystem#mkdirs and FileContext#mkdir do not throw 
> FileAlreadyExistsException if the directory already exist.
> Some places in the mapreduce codebase assumes FileSystem#mkdirs or 
> FileContext#mkdir throw FileAlreadyExistsException.
> At least the following files are concerned:
>  - YarnChild.java
>  - JobHistoryEverntHandler.java
>  - HistoryFileManager.java
> It would be good to re-review and patch this if needed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to