[ 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)