Wei-Chiu Chuang created HADOOP-15307:
----------------------------------------
Summary: Improve NFS error handling: Unsupported verifier
flavorAUTH_SYS
Key: HADOOP-15307
URL: https://issues.apache.org/jira/browse/HADOOP-15307
Project: Hadoop Common
Issue Type: Bug
Components: nfs
Environment: CentOS 7.4, CDH5.13.1, Kerberized Hadoop cluster
Reporter: Wei-Chiu Chuang
When NFS gateway starts and if the portmapper request is denied by rpcbind for
any reason (in our case, /etc/hosts.allow did not have the localhost), NFS
gateway fails with the following obscure exception:
{noformat}
2018-03-05 12:49:31,976 INFO org.apache.hadoop.oncrpc.SimpleUdpServer: Started
listening to UDP requests at port 4242 for Rpc program: mountd at
localhost:4242 with workerCount 1
2018-03-05 12:49:31,988 INFO org.apache.hadoop.oncrpc.SimpleTcpServer: Started
listening to TCP requests at port 4242 for Rpc program: mountd at
localhost:4242 with workerCount 1
2018-03-05 12:49:31,993 TRACE org.apache.hadoop.oncrpc.RpcCall: Xid:692394656,
messageType:RPC_CALL, rpcVersion:2, program:100000, version:2, procedure:1,
credential:(AuthFlavor:AUTH_NONE), verifier:(AuthFlavor:AUTH_NONE)
2018-03-05 12:49:31,998 FATAL org.apache.hadoop.mount.MountdBase: Failed to
start the server. Cause:
java.lang.UnsupportedOperationException: Unsupported verifier flavorAUTH_SYS
at
org.apache.hadoop.oncrpc.security.Verifier.readFlavorAndVerifier(Verifier.java:45)
at org.apache.hadoop.oncrpc.RpcDeniedReply.read(RpcDeniedReply.java:50)
at org.apache.hadoop.oncrpc.RpcReply.read(RpcReply.java:67)
at org.apache.hadoop.oncrpc.SimpleUdpClient.run(SimpleUdpClient.java:71)
at org.apache.hadoop.oncrpc.RpcProgram.register(RpcProgram.java:130)
at org.apache.hadoop.oncrpc.RpcProgram.register(RpcProgram.java:101)
at org.apache.hadoop.mount.MountdBase.start(MountdBase.java:83)
at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.startServiceInternal(Nfs3.java:56)
at org.apache.hadoop.hdfs.nfs.nfs3.Nfs3.startService(Nfs3.java:69)
at
org.apache.hadoop.hdfs.nfs.nfs3.PrivilegedNfsGatewayStarter.start(PrivilegedNfsGatewayStarter.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243)
2018-03-05 12:49:32,007 INFO org.apache.hadoop.util.ExitUtil: Exiting with
status 1{noformat}
Reading the code comment for class Verifier, I think this bug existed since
its inception
{code:java}
/**
* Base class for verifier. Currently our authentication only supports 3 types
* of auth flavors: {@link RpcAuthInfo.AuthFlavor#AUTH_NONE}, {@link
RpcAuthInfo.AuthFlavor#AUTH_SYS},
* and {@link RpcAuthInfo.AuthFlavor#RPCSEC_GSS}. Thus for verifier we only
need to handle
* AUTH_NONE and RPCSEC_GSS
*/
public abstract class Verifier extends RpcAuthInfo {{code}
The verifier should also handle AUTH_SYS too.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]