hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hairong Kuang (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6897) FileSystem#mkdirs(FileSystem, Path, FsPermission) should not call setPermission if mkdirs failled
Date Wed, 04 Aug 2010 16:42:19 GMT

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

Hairong Kuang commented on HADOOP-6897:
---------------------------------------

Dick, you made a good observation. But my understanding of their semantics is a little different
from yours.

I believe static boolean FileSystem.mkdirs(FileSystem fs, Path path, FsPermission permission)
assigns masked permission to intermediate directories, if any, that get created, and assigns
the given permission to the leaf directory.

On the other hand fs.mkdirs(path, permission) assign the masked permission to all newly created
directories.

Another subtle difference is that if the directory already exists, static boolean FileSystem
mkdirs would go ahead and change the directory's permission. But boolean fs.mkdirs would simply
return true without changing its permission.

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


Mime
View raw message