[ https://issues.apache.org/jira/browse/HIVE-28220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhen Wang updated HIVE-28220: ----------------------------- Description: When jdbc connection is retried, the principal of the next server is ignored, causing kerberos authentication of retried connection to always fail. [https://github.com/apache/hive/blob/4614ce72a7f366674d89a3a78f687e419400cb89/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java#L372] error detail: {code:java} Exception in thread "main" java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Peer indicated failure: GSS initiate failed at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:256) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at org.example.Test6$.main(Test6.scala:20) at org.example.Test6.main(Test6.scala) Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199) at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:277) at org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:51) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:48) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport.open(TUGIAssumingTransport.java:48) at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:343) at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:228) ... 5 more {code} was: When jdbc connection is retried, the principal of the next server is ignored, causing kerberos authentication of retried connection to always fail. [https://github.com/apache/hive/blob/4614ce72a7f366674d89a3a78f687e419400cb89/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java#L372] error detail: ``` Exception in thread "main" java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Peer indicated failure: GSS initiate failed at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:256) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at org.example.Test6$.main(Test6.scala:20) at org.example.Test6.main(Test6.scala) Caused by: org.apache.thrift.transport.TTransportException: Peer indicated failure: GSS initiate failed at org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199) at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:277) at org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:51) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:48) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) at org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport.open(TUGIAssumingTransport.java:48) at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:343) at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:228) ... 5 more ``` > Jdbc connection always fails when retrying in zookeeper service discovery > mode with kerberos. > --------------------------------------------------------------------------------------------- > > Key: HIVE-28220 > URL: https://issues.apache.org/jira/browse/HIVE-28220 > Project: Hive > Issue Type: Bug > Components: JDBC > Affects Versions: 3.1.2, 4.0.0 > Reporter: Zhen Wang > Priority: Major > > When jdbc connection is retried, the principal of the next server is ignored, > causing kerberos authentication of retried connection to always fail. > > [https://github.com/apache/hive/blob/4614ce72a7f366674d89a3a78f687e419400cb89/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java#L372] > > error detail: > {code:java} > Exception in thread "main" java.sql.SQLException: Could not open client > transport for any of the Server URI's in ZooKeeper: Peer indicated failure: > GSS initiate failed > at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:256) > at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107) > at java.sql.DriverManager.getConnection(DriverManager.java:664) > at java.sql.DriverManager.getConnection(DriverManager.java:270) > at org.example.Test6$.main(Test6.scala:20) > at org.example.Test6.main(Test6.scala) > Caused by: org.apache.thrift.transport.TTransportException: Peer indicated > failure: GSS initiate failed > at > org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:199) > at > org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:277) > at > org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37) > at > org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:51) > at > org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:48) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) > at > org.apache.hadoop.hive.metastore.security.TUGIAssumingTransport.open(TUGIAssumingTransport.java:48) > at > org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:343) > at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:228) > ... 5 more {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)