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

Zhongyi Xie commented on HDFS-6411:
-----------------------------------

Hi [~brandonli], I tried your patch on our 2.2 branch but looks like the 
problem persists: 
[root@alexie-dt ~]# ls /hdfs
backups  hive  mr-history  system  tmp  user
[root@alexie-dt ~]# su test-nfs 
[test-nfs@alexie-dt root]$ ls /hdfs
ls: cannot open directory /hdfs: Input/output error
[test-nfs@alexie-dt root]$ ls /hdfs
ls: cannot access /hdfs: Stale file handle
[test-nfs@alexie-dt root]$ ls /hdfs
ls: cannot access /hdfs: Stale file handle
[test-nfs@alexie-dt root]$ exit
exit
[root@alexie-dt ~]# ls /hdfs
ls: cannot access /hdfs: Stale file handle
[root@alexie-dt ~]# ls /hdfs
ls: cannot access /hdfs: Stale file handle

I've uploaded my 2.2 patch, can you please take a look and try it in your env? 
Also in your tests, I assume you are seeing 
"ls: cannot open directory /hdfs: Input/output error" and the NFS handle is 
still responding, right?
I believe "Permission denied" is more appropriate here, what do you think?


> 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
>         Attachments: HDFS-6411-branch-2.2.patch, HDFS-6411.patch
>
>
> 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