Zhongyi Xie created HDFS-6411:
---------------------------------

             Summary: /hdfs 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


0) login as root, make sure service nfs-hdfs and nfs-hdfs-client are running:
[root@zhongyi-test-cluster-desktop hdfs]# ls /hdfs
backups  hive  mr-history  system  tmp  user
1) add a user nfs-test: adduser nfs-test
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