[
https://issues.apache.org/jira/browse/HADOOP-6897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895084#action_12895084
]
Dick King commented on HADOOP-6897:
-----------------------------------
There's a wierd incompatibility within the various overloads of
{{FileSystem.mkdirs}} .
{{static boolean FileSystem.mkdirs(FileSystem fs, Path path, FsPermission
permission)}} assigns the specified permission to all directories constructed
on the way to path , including the last one, {{path}} itself .
{{fs.mkdirs(path, permission)}} behaves very differently. The intermediate
directories, if any, that get created, are born with the permissions of
{{permission}} , but the leaf directory, {{path}} , seems to get its
permissions set to a MASKED permission mask, at least when {{FileSystem}} is a
DFS.
At the very least, this behavior should be documented. A better remedy, in my
opinion, would be for {{FileSystem.mkdirs(Path, FsPermission)}} to change
behavior so all directories created have permission bits named by the
{{FsPermission}} parameter in all of the calls that have one.
> FileSystem#mkdirs(FileSystem, Path, FsPermission) should not call
> setPermission if mkdirs failled
> -------------------------------------------------------------------------------------------------
>
> Key: HADOOP-6897
> URL: https://issues.apache.org/jira/browse/HADOOP-6897
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Hairong Kuang
> Assignee: Hairong Kuang
> Fix For: 0.22.0
>
> Attachments: mkdirs.patch
>
>
> Here is the piece of code that has the bug. fs.setPermission should not be
> called if result is false.
> {code}
> public static boolean mkdirs(FileSystem fs, Path dir, FsPermission
> permission)
> throws IOException {
> // create the directory using the default permission
> boolean result = fs.mkdirs(dir);
> // set its permission to be the supplied one
> fs.setPermission(dir, permission);
> return result;
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.