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

Brandon Li commented on HDFS-6411:
----------------------------------

Thank you, guys. I've committed the patch.
Let's move further discussions for the code optimization to HDFS-6451.

> nfs-hdfs-gateway mount raises I/O error and hangs when a unauthorized user 
> attempts to access it
> ------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-6411
>                 URL: https://issues.apache.org/jira/browse/HDFS-6411
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: nfs
>    Affects Versions: 2.2.0
>            Reporter: Zhongyi Xie
>            Assignee: Brandon Li
>             Fix For: 2.4.1
>
>         Attachments: HDFS-6411-branch-2.2.patch, HDFS-6411.002.patch, 
> HDFS-6411.003.patch, HDFS-6411.004.patch, HDFS-6411.patch, 
> tcpdump-HDFS-6411-Brandon.out
>
>
> We use the nfs-hdfs gateway to expose hdfs thru nfs.
> 0) login as root, run nfs-hdfs gateway as a user, say, nfsserver. 
> [root@zhongyi-test-cluster-desktop hdfs]# ls /hdfs
> backups  hive  mr-history  system  tmp  user
> 1) add a user nfs-test: adduser nfs-test(make sure that this user is not a 
> proxyuser of nfsserver
> 2) switch to test user: su - nfs-test
> 3) access hdfs nfs gateway
> [nfs-test@zhongyi-test-cluster-desktop ~]$ ls /hdfs
> ls: cannot open directory /hdfs: Input/output error
> retry:
> [nfs-test@zhongyi-test-cluster-desktop ~]$ ls /hdfs
> ls: cannot access /hdfs: Stale NFS file handle
> 4) switch back to root and access hdfs nfs gateway
> [nfs-test@zhongyi-test-cluster-desktop ~]$ exit
> logout
> [root@zhongyi-test-cluster-desktop hdfs]# ls /hdfs
> ls: cannot access /hdfs: Stale NFS file handle
> the nfsserver log indicates we hit an authorization error in the rpc handler; 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):
>  User: nfsserver is not allowed to impersonate nfs-test
> and NFS3ERR_IO is returned, which explains why we see input/output error. 
> One can catch the authorizationexception and return the correct error: 
> NFS3ERR_ACCES to fix the error message on the client side but that doesn't 
> seem to solve the mount hang issue though. When the mount hang happens, it 
> stops printing nfsserver log which makes it more difficult to figure out the 
> real cause of the hang. According to jstack and debugger, the nfsserver seems 
> to be waiting for client requests



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

Reply via email to