[ https://issues.apache.org/jira/browse/HDFS-6411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14010267#comment-14010267 ]
Zhongyi Xie commented on HDFS-6411: ----------------------------------- Hi [~brandonli], I've tested it on my VM and looks like the problem is fixed However I did see something interesting [alti-test-02@alexie-dt root]$ mkdir /hdfs/tmp/dir mkdir: cannot create directory `/hdfs/tmp/dir': Permission denied [alti-test-02@alexie-dt root]$ rmdir /hdfs/tmp rmdir: failed to remove `/hdfs/tmp': Permission denied [alti-test-02@alexie-dt root]$ rmdir /hdfs/ rmdir: failed to remove `/hdfs/': Permission denied [alti-test-02@alexie-dt root]$ ls /hdfs ls: cannot access /hdfs: Stale file handle but once I log out of alti-test-02 user back to root, the NFS handle is still working [root@alexie-dt ~]# ls /hdfs backups hive mr-history system tmp user and I retried these steps, the problem goes away (i.e. I didn't see the Stale file handle again), so unless there is some consistent repro steps and if the handle is hang again, I won't worry about that > 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.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)