Venugopal Reddy K created HIVE-29615:
----------------------------------------
Summary: Hive Metastore fails to connect to NameNode due to SASL
hadoop.rpc.protection mismatch (Client: authentication vs Server: privacy)
Key: HIVE-29615
URL: https://issues.apache.org/jira/browse/HIVE-29615
Project: Hive
Issue Type: Bug
Components: Metastore, Security, Standalone Metastore
Reporter: Venugopal Reddy K
*[Description]*
The Hive Metastore cannot establish an RPC connection to the HDFS NameNode. The
connection is dropped during the Kerberos SASL handshake because of conflicting
Quality of Protection (QOP) configurations between the client and the server.
*HDFS NameNode (Server):* Configured with {{hadoop.rpc.protection = privacy}}
(requires encrypted traffic).
*Hive Metastore (Client):* When {{hadoop.rpc.protection configuration is
detected, it overrides it with authentication}} (only validates identity).
As a result, SASL layer throws {{SaslException: No common protection layer
between client and server}} because the client refuses to encrypt traffic,
while the server mandates it.
{code:java}
2026-05-14 10:35:54,420 ERROR
org.apache.hadoop.hive.metastore.utils.MetaStoreUtils: [TThreadPoolServer
WorkerProcess-13]: Got exception: javax.security.sasl.SaslException
DestHost:destPort mycluster:8020 , LocalHost:localPort
mycluster/10.140.114.1:0. Failed on local exception:
javax.security.sasl.SaslException: No common protection layer between client
and server
javax.security.sasl.SaslException: DestHost:destPort mycluster:8020 ,
LocalHost:localPort mycluster/10.140.114.1:0. Failed on local exception:
javax.security.sasl.SaslException: No common protection layer between client
and server
at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1584)
at org.apache.hadoop.ipc.Client.call(Client.java:1529)
at org.apache.hadoop.ipc.Client.call(Client.java:1426)
at
org.apache.hadoop.ipc.ProtobufRpcEngine2$Invoker.invoke(ProtobufRpcEngine2.java:258)
at
org.apache.hadoop.ipc.ProtobufRpcEngine2$Invoker.invoke(ProtobufRpcEngine2.java:139)
at jdk.proxy2.$Proxy34.getFileInfo(Unknown Source)
at
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.lambda$getFileInfo$41(ClientNamenodeProtocolTranslatorPB.java:820)
at
org.apache.hadoop.ipc.internal.ShadedProtobufHelper.ipc(ShadedProtobufHelper.java:160)
at
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:820)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:568)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:437)
at
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:170)
at
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:162)
at
org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:100)
at
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:366)
at jdk.proxy2.$Proxy35.getFileInfo(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1776)
at
org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1838)
at
org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1835)
at
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1850)
at org.apache.hadoop.hive.metastore.Warehouse.isDir(Warehouse.java:861)
{code}
{code:java}
javax.security.sasl.SaslException: No common protection layer between client
and server
at
com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:270)
~[jdk.security.jgss:?]
at
com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:203)
~[jdk.security.jgss:?]
at
org.apache.hadoop.security.SaslRpcClient.saslEvaluateToken(SaslRpcClient.java:489)
at
org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:431){code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)