[
https://issues.apache.org/jira/browse/HIVE-16172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15905410#comment-15905410
]
Gopal V commented on HIVE-16172:
--------------------------------
I don't think there's enough contention on this lock from many threads - last I
counted it was just 2 threads, so the performance should remain relatively
identical.
bq. Without the change, the query was not able to be cancelled (see details in
the JIRA description).
Even if this is a slight performance hit, correctness over performance.
> 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)