Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
A synchronized block is used in "org.apache.hive.jdbc.HiveConnection.SynchronizedHandler.invoke(Object, Method, Object[])" to synchronize the client invocations. The problem is that it does not guarantee any fairness. One issue we were seeing is that a cancellation request was not able to be issued to HS2 until all the getOperationStatus() calls are finished from a while loop. Thus the cancellation cannot take effect.