[
https://issues.apache.org/jira/browse/HIVE-20845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16691444#comment-16691444
]
Peter Vary commented on HIVE-20845:
-----------------------------------
There are strange errors in the hive.log when trying to connect to an
active-passive HS2 with DriverManager.getConnection(...).
{code:java}
2018-11-19T00:00:17,408 INFO [Thread-9] jdbc.ZooKeeperHiveClientHelper: Found
HS2 Active Host: localhost Port: 50666 Identity:
2ca89854-eecd-447b-b5b3-8882af5f44ac Mode: binary
2018-11-19T00:00:17,408 DEBUG [Thread-9] jdbc.ZooKeeperHiveClientHelper:
Configurations applied to JDBC connection params.
{hive.server2.instance.uri=localhost:50666, hive.server2.authentication=NONE,
hive.server2.transport.mode=binary, hive.server2.thrift.sasl.qop=auth,
hive.server2.thrift.bind.host=localhost, hive.server2.thrift.port=50666,
hive.server2.use.SSL=false,
registry.unique.id=2ca89854-eecd-447b-b5b3-8882af5f44ac,
hive.server2.webui.port=50665}
2018-11-19T00:00:17,408 DEBUG [Thread-9] jdbc.Utils: Resolved authority:
localhost:50666
2018-11-19T00:00:18,501 INFO [Thread-9] jdbc.HiveConnection: Connected to
localhost:50666
2018-11-19T00:00:18,671 ERROR [HiveServer2-Handler-Pool: Thread-130]
server.TThreadPoolServer: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException:
Invalid status 80
at
org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
[libthrift-0.9.3.jar:0.9.3]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[?:1.8.0_172]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[?:1.8.0_172]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172]
Caused by: org.apache.thrift.transport.TTransportException: Invalid status 80
at
org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:232)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:184)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:271)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
~[libthrift-0.9.3.jar:0.9.3]
... 4 more
2018-11-19T00:00:18,681 ERROR [Thread-9] jdbc.HiveConnection: Error opening
session
org.apache.thrift.transport.TTransportException:
org.apache.http.client.ClientProtocolException
at
org.apache.thrift.transport.THttpClient.flushUsingHttpClient(THttpClient.java:297)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.transport.THttpClient.flush(THttpClient.java:313)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.hive.service.rpc.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:170)
~[hive-service-rpc-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.service.rpc.thrift.TCLIService$Client.OpenSession(TCLIService.java:162)
~[hive-service-rpc-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:809)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:309)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at java.sql.DriverManager.getConnection(DriverManager.java:664)
[?:1.8.0_172]
at java.sql.DriverManager.getConnection(DriverManager.java:270)
[?:1.8.0_172]
at
org.apache.hive.jdbc.miniHS2.MiniHS2.waitForStartup(MiniHS2.java:622)
[hive-it-util-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at org.apache.hive.jdbc.miniHS2.MiniHS2.start(MiniHS2.java:402)
[hive-it-util-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.jdbc.TestActivePassiveHA.testManualFailoverUnauthorized(TestActivePassiveHA.java:406)
[test-classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_172]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_172]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_172]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172]
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
[junit-4.11.jar:?]
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[junit-4.11.jar:?]
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
[junit-4.11.jar:?]
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[junit-4.11.jar:?]
at
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
[junit-4.11.jar:?]
Caused by: org.apache.http.client.ClientProtocolException
at
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.thrift.transport.THttpClient.flushUsingHttpClient(THttpClient.java:251)
~[libthrift-0.9.3.jar:0.9.3]
... 22 more
Caused by: org.apache.http.ProtocolException: The server failed to respond with
a valid HTTP response
at
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:151)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
~[httpcore-4.4.4.jar:4.4.4]
at
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
~[httpclient-4.5.2.jar:4.5.2]
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.execchain.ServiceUnavailableRetryExec.execute(ServiceUnavailableRetryExec.java:84)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
~[httpclient-4.5.2.jar:4.5.2]
at
org.apache.thrift.transport.THttpClient.flushUsingHttpClient(THttpClient.java:251)
~[libthrift-0.9.3.jar:0.9.3]
... 22 more
2018-11-19T00:00:18,683 WARN [Thread-9] jdbc.HiveConnection: Failed to connect
to localhost:50666
{code}
And later:
{code:java}
2018-11-19T00:00:38,026 INFO [Thread-9]
server.HS2ActivePassiveHARegistryClient: Returning cached registry client for
namespace: hs2ActivePassiveHATest-unsecure
2018-11-19T00:00:38,026 INFO [Thread-9] jdbc.ZooKeeperHiveClientHelper: Found
HS2 Active Host: localhost Port: 50668 Identity:
8b4ca1b4-ade6-47d9-ba00-f3e5f6dd4ece Mode: http:/clidriverTest
2018-11-19T00:00:38,026 DEBUG [Thread-9] jdbc.ZooKeeperHiveClientHelper:
Configurations applied to JDBC connection params.
{hive.server2.instance.uri=localhost:50668, hive.server2.authentication=NONE,
hive.server2.transport.mode=http, hive.server2.thrift.http.path=clidriverTest,
hive.server2.thrift.http.port=50668, hive.server2.thrift.bind.host=localhost,
hive.server2.use.SSL=false,
registry.unique.id=8b4ca1b4-ade6-47d9-ba00-f3e5f6dd4ece,
hive.server2.webui.port=50669}
2018-11-19T00:00:38,026 INFO [Thread-9] jdbc.Utils: Selected HiveServer2
instance with uri:
jdbc:hive2://localhost:50668/default;serviceDiscoveryMode=zooKeeperHA;zooKeeperNamespace=hs2ActivePassiveHATest;transportMode=http;httpPath=cliservice;
2018-11-19T00:00:38,026 WARN [Thread-9] jdbc.HiveConnection: Could not open
client transport with JDBC Uri:
jdbc:hive2://localhost:50668/default;serviceDiscoveryMode=zooKeeperHA;zooKeeperNamespace=hs2ActivePassiveHATest;transportMode=http;httpPath=cliservice;:
Could not establish connection to
jdbc:hive2://localhost:50668/default;serviceDiscoveryMode=zooKeeperHA;zooKeeperNamespace=hs2ActivePassiveHATest;transportMode=http;httpPath=cliservice;:
HTTP Response code: 405 Retrying 0 of 1
2018-11-19T00:00:38,028 INFO [Thread-9] jdbc.HiveConnection: Connected to
localhost:50668
2018-11-19T00:00:38,030 ERROR [Thread-9] jdbc.HiveConnection: Error opening
session
org.apache.thrift.transport.TTransportException: HTTP Response code: 405
at
org.apache.thrift.transport.THttpClient.flushUsingHttpClient(THttpClient.java:262)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.transport.THttpClient.flush(THttpClient.java:313)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
~[libthrift-0.9.3.jar:0.9.3]
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
~[libthrift-0.9.3.jar:0.9.3]
at
org.apache.hive.service.rpc.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:170)
~[hive-service-rpc-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.service.rpc.thrift.TCLIService$Client.OpenSession(TCLIService.java:162)
~[hive-service-rpc-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:809)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:309)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
[hive-jdbc-4.0.0-SNAPSHOT.jar:?]
at java.sql.DriverManager.getConnection(DriverManager.java:664)
[?:1.8.0_172]
at java.sql.DriverManager.getConnection(DriverManager.java:270)
[?:1.8.0_172]
at
org.apache.hive.jdbc.miniHS2.MiniHS2.waitForStartup(MiniHS2.java:622)
[hive-it-util-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at org.apache.hive.jdbc.miniHS2.MiniHS2.start(MiniHS2.java:402)
[hive-it-util-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
at
org.apache.hive.jdbc.TestActivePassiveHA.testManualFailoverUnauthorized(TestActivePassiveHA.java:406)
[test-classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_172]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_172]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_172]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172]
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
[junit-4.11.jar:?]
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[junit-4.11.jar:?]
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
[junit-4.11.jar:?]
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[junit-4.11.jar:?]
at
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
[junit-4.11.jar:?]
2018-11-19T00:00:38,030 WARN [Thread-9] jdbc.HiveConnection: Failed to connect
to localhost:50668
{code}
Might indicate some bug in HA implementation? Any thoughts [~sershe]?
For the tests I just fell back to using the original method for checking the
status of the MiniHS2 instances in HA mode.
> Fix TestJdbcWithDBTokenStoreNoDoAs flakiness
> --------------------------------------------
>
> Key: HIVE-20845
> URL: https://issues.apache.org/jira/browse/HIVE-20845
> Project: Hive
> Issue Type: Test
> Reporter: Peter Vary
> Assignee: Peter Vary
> Priority: Major
> Attachments: HIVE-20845.2.patch, HIVE-20845.3.patch, HIVE-20845.patch
>
>
> Previously did a dirty fix for TestJdbcWithDBTokenStoreNoDoAs and
> TestJdbcWithDBTokenStore
> Found out the issue is that we do not wait enough for HS2 to come up.
> Need to fix in MiniHS2.waitForStartup()
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)