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

Wei-Chiu Chuang commented on HDFS-10488:
----------------------------------------

Hi [~wchevreuil] thanks for the great finding and the patch.

The fix itself looks good to me in general and I just have 1 question about the 
fix and some quick comments regarding the test:

Regarding the fix:

I am a little confused by the following line: seems you always call 
getDirFsPermission() regardless whether it's a dir or file?
{code}
np.setPermission(fullpath, permission.getDirFsPermission());
{code}

# The convention of HDFS unit testing is to start a MiniDFSCluster using 
{{@Before}} annotation, and tear down the cluster using {{@After}}. You can 
take a look at other HDFS test files for reference.
# Would you mind to add additional tests to verify it works as expected if the 
mask {{fs.permissions.umask-mode}} is set differently? This will be helpful in 
detecting other webhfs permission bugs if they exist.
# You have fixed the WebHDFS CREATESYMLINK operation. Could you also add tests 
to verify this operation as well?

> WebHDFS CREATE and MKDIRS does not follow same rules as DFS CLI when creating 
> files/directories without specifying permissions
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-10488
>                 URL: https://issues.apache.org/jira/browse/HDFS-10488
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: webhdfs
>    Affects Versions: 2.6.0
>            Reporter: Wellington Chevreuil
>            Priority: Minor
>         Attachments: HDFS-10488.002.patch, HDFS-10488.003.patch, 
> HDFS-10488.patch
>
>
> WebHDFS methods for creating file/directories are always creating it with 755 
> permissions as default, even ignoring any configured 
> *fs.permissions.umask-mode* in the case of directories.
> Dfs CLI, however, applies the configured umask to 777 permission for 
> directories, or 666 permission for files.
> Example below shows the different behaviour when creating directory via CLI 
> and WebHDFS:
> {noformat}
> 1) Creating a directory under '/test/' as 'test-user'. Configured 
> fs.permissions.umask-mode is 000: 
> $ sudo -u test-user hdfs dfs -mkdir /test/test-user1 
> $ sudo -u test-user hdfs dfs -getfacl /test/test-user1 
> # file: /test/test-user1
> # owner: test-user 
> # group: supergroup 
> user::rwx 
> group::rwx 
> other::rwx 
> 4) Doing the same via WebHDFS does not get the proper ACLs: 
> $ curl -i -X PUT 
> "http://namenode-host:50070/webhdfs/v1/test/test-user2?user.name=test-user&op=MKDIRS";
>  
> $ sudo -u test-user hdfs dfs -getfacl /test/test-user2 
> # file: /test/test-user2 
> # owner: test-user 
> # group: supergroup 
> user::rwx 
> group::r-x 
> other::r-x
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to