[
https://issues.apache.org/jira/browse/HIVE-10835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chaoyu Tang updated HIVE-10835:
-------------------------------
Attachment: HIVE-10835.2.patch
Updated the patch:
1. Add a unit test TestJdbcWithMiniHS2#testConcurrentStatements (300 tasks
using 100 threads, take around 1.5 -2 min in my local machine)
2. use the client object itself as the lock
[~thejas], [~xuefuz] and [~szehon], could you review it? thanks.
> Concurrency issues in JDBC driver
> ---------------------------------
>
> Key: HIVE-10835
> URL: https://issues.apache.org/jira/browse/HIVE-10835
> Project: Hive
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 1.2.0
> Reporter: Chaoyu Tang
> Assignee: Chaoyu Tang
> Attachments: HIVE-10835.1.patch, HIVE-10835.2.patch, HIVE-10835.patch
>
>
> Though JDBC specification specifies that "Each Connection object can create
> multiple Statement objects that may be used concurrently by the program", but
> that does not work in current Hive JDBC driver. In addition, there also exist
> race conditions between DatabaseMetaData, Statement and ResultSet as long as
> they make RPC calls to HS2 using same Thrift transport, which happens within
> a connection.
> So we need a connection level lock to serialize all these RPC calls in a
> connection.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)