You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Parth Chandra (JIRA)" <ji...@apache.org> on 2015/02/11 23:35:12 UTC

[jira] [Updated] (DRILL-2038) C++ Client API has a crash with multiple parallel queries

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

Parth Chandra updated DRILL-2038:
---------------------------------
         Priority: Critical  (was: Major)
    Fix Version/s:     (was: 0.9.0)
                   0.8.0
          Summary: C++ Client API has a crash with multiple parallel queries  (was: C++ Client syncronous API has a concurrency issue with multiple parallel queries)

This is not a concurrency issue but is caused by a double delete of the pointer to the error object and affects both the synchronous and asynchronous APIs.
The DrillClientImpl class holds an error object that is set for errors that are not query specific. The DrillClientQueryResult class holds an error object that is set for errors that are query specific. 
The issue was that for a query specific error the error object of the DrillClientImpl class was also being set and pointed to the same object as the DrillClientQueryResult class, which eventually led to a double delete.
Upgrading this to critical since this use case affects the ODBC driver.

> C++ Client API has a crash with multiple parallel queries
> ---------------------------------------------------------
>
>                 Key: DRILL-2038
>                 URL: https://issues.apache.org/jira/browse/DRILL-2038
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - C++
>    Affects Versions: 0.8.0
>            Reporter: Parth Chandra
>            Assignee: Parth Chandra
>            Priority: Critical
>             Fix For: 0.8.0
>
>
> Issuing about 30 parallel queries to the C++ client (thru the query submitter test program). Some of the queries return failure. The client application seems to get into a state where the query state on the client is running even though the server has completed the query and is not longer sending results back.
> The issue appears to be related to the handling of the QUERY_COMPLETED state. The synchronous API expects that if the error object associated with the query result is nut null, the query should have failed. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)