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

Rémy SAISSY commented on HADOOP-9438:
-------------------------------------

Thanks for the suggestion, I will name the patches this way :).

I took a look at the method you mentioned but I was not sure that it was the 
"deepest" place in the call stack.
The debugger led me to primitiveMkdir() and I stopped there. Indeed it looks 
like it is too upfront so I will move this code closer to the actual creation 
of the directory/file.

The patch required me to change some code in many unit tests and I have noticed 
an issue with symlinks (maybe it should be another JIRA issue).
The java.io.File.exist() method returns False when checking a broken symlink. 
Even the org.apache.commons.io.FileUtils.isSymlink() method doesn't work in 
this case.

                
> LocalFileContext does not throw an exception on mkdir for already existing 
> directory
> ------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9438
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9438
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.3-alpha
>            Reporter: Robert Joseph Evans
>            Priority: Critical
>         Attachments: HADOOP-9438.patch, HADOOP-9438.patch
>
>
> according to 
> http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileContext.html#mkdir%28org.apache.hadoop.fs.Path,%20org.apache.hadoop.fs.permission.FsPermission,%20boolean%29
> should throw a FileAlreadyExistsException if the directory already exists.
> I tested this and 
> {code}
> FileContext lfc = FileContext.getLocalFSFileContext(new Configuration());
> Path p = new Path("/tmp/bobby.12345");
> FsPermission cachePerms = new FsPermission((short) 0755);
> lfc.mkdir(p, cachePerms, false);
> lfc.mkdir(p, cachePerms, false);
> {code}
> never throws an exception.

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