[
https://issues.apache.org/jira/browse/HIVE-16172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15904627#comment-15904627
]
Tao Li commented on HIVE-16172:
-------------------------------
cc [~gopalv] in case there is any perf concern. Forcing the fairness does hurt
the throughput, compared with no fairness, according to:
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html
> Switch to a fairness lock to synchronize HS2 thrift client
> ----------------------------------------------------------
>
> Key: HIVE-16172
> URL: https://issues.apache.org/jira/browse/HIVE-16172
> Project: Hive
> Issue Type: Bug
> Reporter: Tao Li
> Assignee: Tao Li
> Attachments: HIVE-16172.1.patch
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)