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

Abhiraj Butala updated HDFS-6451:
---------------------------------

    Attachment: HDFS-6451.patch

Attaching one version of the fix, which introduces a function to check the 
IOException type and return the NFS3Status code accordingly. 

Please note that, the function returns NFS3ERR_ACCES for AccessControlException 
(instead of NFS3ERR_PERM), as that gave 'Permission denied' responses on my 
setup as shown below (this is also in sync with some of the discussion in HDFS 
6411):

{code}
$ ls
log4j.properties  loglog
$ mv log4j.properties abc
mv: cannot move `log4j.properties' to `abc': Permission denied
$ ln -s log4j.properties abc
ln: failed to create symbolic link `abc': Permission denied
$ rm log4j.properties
rm: remove write-protected regular file `log4j.properties'? y
rm: cannot remove `log4j.properties': Permission denied
{code}

Please let me know if there are any suggestions. Thank you!

> NFS should not return NFS3ERR_IO for AccessControlException 
> ------------------------------------------------------------
>
>                 Key: HDFS-6451
>                 URL: https://issues.apache.org/jira/browse/HDFS-6451
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: nfs
>            Reporter: Brandon Li
>         Attachments: HDFS-6451.patch
>
>
> As [~jingzhao] pointed out in HDFS-6411, we need to catch the 
> AccessControlException from the HDFS calls, and return NFS3ERR_PERM instead 
> of NFS3ERR_IO for it.
> Another possible improvement is to have a single class/method for the common 
> exception handling process, instead of repeating the same exception handling 
> process in different NFS methods.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to