[ 
https://issues.apache.org/jira/browse/IMPALA-3948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Armstrong resolved IMPALA-3948.
-----------------------------------
    Resolution: Invalid

The driver isn't part of Apache Impala

> Impala JDBC driver blocks concurrent queries when UseNativeQuery=0
> ------------------------------------------------------------------
>
>                 Key: IMPALA-3948
>                 URL: https://issues.apache.org/jira/browse/IMPALA-3948
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Clients
>    Affects Versions: Impala 2.5.0
>            Reporter: Julian Eberius
>            Assignee: Syed A. Hashmi
>            Priority: Minor
>
> When using the Impala JDBC driver verison 2.5.32 and a standard connection 
> pool in a Java application to run concurrent queries, I discovered that all 
> application threads executing Impala queries where blocked except for one. 
> All others were hanging in 
> HiveJDBCQueryExecutorWithLimitZeroPreparedStatementMetadata#execute(ExecutionContexts,
>  IWarningListener). I further investigated the decompiled code of this method 
> and found a synchronized() statement, which locks on a global singleton of 
> type IQueryTranslator and encloses an executeQuery() call. This effectively 
> makes the whole driver single-threaded, which should not be the case for 
> standards-conforming JDBC drivers as far as I know. 
> When using the parameter UseNativeQuery=1, the driver uses the class 
> HiveJDBCNativeQueryExecutor instead of 
> HiveJDBCQueryExecutorWithLimitZeroPreparedStatementMetadata, which does not 
> have this synchronized statement. In this case, all queries were submitted to 
> Impala in parallel, which is the expected behavior.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to