simhadri-g commented on PR #4249:
URL: https://github.com/apache/hive/pull/4249#issuecomment-1515962181

   Thanks, @ayushtkn  and @TuroczyX for the review.
   
   Looking at the stack trace  mentioned in 
[HIVE-23394](https://issues.apache.org/jira/browse/HIVE-23394) 
   The "out of sequence response" error occurs when two threads use the same 
HiveMetaStoreClient instance. 
   It seems that the metastore client socket is reading the RPC response from a 
different call, hence the out-of-sequence exception.
   
   Looking at the tests , there are 2 tests that use 
AbstractTestJdbcGenericUDTFGetSplits:
   1. TestJdbcGenericUDTFGetSplits2#testGenericUDTFOderBySplitCount1
   2. TestJdbcGenericUDTFGetSplits#testGenericUDTFOrderBySplitCount1
   
   These 2 tests call the same AbstractTestJdbcGenericUDTFGetSplits.java, which 
spins up a new miniHS2 instance. 
   I guess if these 2 tests run concurrently, it may cause the test to be flaky.
   
   I think we should merge these 2 tests to a single file and ensure it runs 
sequentially to fix the flakiness.
   
   ```
   Error Message
   Failed to close statement
   Stacktrace
   java.sql.SQLException: Failed to close statement
        at 
org.apache.hive.jdbc.HiveStatement.closeStatementIfNeeded(HiveStatement.java:200)
        at 
org.apache.hive.jdbc.HiveStatement.closeClientOperation(HiveStatement.java:205)
        at org.apache.hive.jdbc.HiveStatement.close(HiveStatement.java:222)
        at 
org.apache.hive.jdbc.AbstractTestJdbcGenericUDTFGetSplits.runQuery(AbstractTestJdbcGenericUDTFGetSplits.java:135)
        at 
org.apache.hive.jdbc.AbstractTestJdbcGenericUDTFGetSplits.testGenericUDTFOrderBySplitCount1(AbstractTestJdbcGenericUDTFGetSplits.java:164)
        at 
org.apache.hive.jdbc.TestJdbcGenericUDTFGetSplits2.testGenericUDTFOrderBySplitCount1(TestJdbcGenericUDTFGetSplits2.java:28)
        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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
   Caused by: org.apache.thrift.TApplicationException: CloseOperation failed: 
out of sequence response
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:84)
        at 
org.apache.hive.service.rpc.thrift.TCLIService$Client.recv_CloseOperation(TCLIService.java:521)
        at 
org.apache.hive.service.rpc.thrift.TCLIService$Client.CloseOperation(TCLIService.java:508)
        at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.hive.jdbc.HiveConnection$SynchronizedHandler.invoke(HiveConnection.java:1732)
        at com.sun.proxy.$Proxy146.CloseOperation(Unknown Source)
        at 
org.apache.hive.jdbc.HiveStatement.closeStatementIfNeeded(HiveStatement.java:193)
        ... 14 more
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to