[ 
https://issues.apache.org/jira/browse/HIVE-29615?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Venugopal Reddy K updated HIVE-29615:
-------------------------------------
    Description: 
*[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}
 

  was:
*[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}
 


> 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
>            Assignee: Venugopal Reddy K
>            Priority: Major
>
> *[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)

Reply via email to