hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thejas M Nair (JIRA)" <>
Subject [jira] [Commented] (HIVE-10835) Concurrency issues in JDBC driver
Date Wed, 27 May 2015 19:26:20 GMT


Thejas M Nair commented on HIVE-10835:

Thanks for looking into this issue []!
There were some locks added as part of HIVE-6472 by [~vgumashta]. Looks like covered only
some specific use cases.
I feel we are likely to miss this when we add new code.
How about taking an alternative approach of using a proxy class around the thrift client that
does the locking ? That would be a smaller change and new code is less likely to have this
bug. Something like SynchronizedHandler in HiveMetastoreClient class (though that does not
seem to be used anywhere!)

> Concurrency issues in JDBC driver
> ---------------------------------
>                 Key: HIVE-10835
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 1.2.0
>            Reporter: Chaoyu Tang
>            Assignee: Chaoyu Tang
>         Attachments: 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

View raw message