hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhongyi Xie (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6411) nfs-hdfs-gateway mount raises I/O error and hangs when a unauthorized user attempts to access it
Date Fri, 16 May 2014 21:11:53 GMT

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

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

the probable cause of the bug is that when an unauthorized user attempts to access a file/dir,
the namenode throws an authorizationexception, which is eventually caught by nfs server's
rpc handler. The rpc handler simply returns an ACCESS3Response object with empty file attributes
and non NFS3_OK status which violates the protocol between nfs server and client, causing
the client to hang

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

Mime
View raw message