drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Parth Chandra <par...@apache.org>
Subject Re: Re: Native C++ Drill client handshake recovery
Date Thu, 22 Jun 2017 21:50:45 GMT
Answers inline ...

On Thu, Jun 22, 2017 at 1:43 PM, Ralph Little <rlittle@inetco.com> wrote:

> Hi Parth,
> Likewise, sorry for my tardy response:
>
>    Sorry for the late response.
>>    For the commented out code, looks like it is wrong. I think we should
>> check to see if m_pError is not null in all cases and return error if it
>> is
>> set to something.
>>
>
> I have tried this block added back in and it seems to do what I need.
> I can do a patch if you like. What is the preferred format? git patch?
>
>
A github pull request would be best. Allows folks to review and provide
feedback. Also, I don't know if you logged a Jira for this; info, please do
so. Include the JIRA id (DRILL-nnnn) in the beginning of the commit message
and Jira and github will stay synced up.



> Regarding the other issue with a paused VM, I'm not sure what your VM
>> setup is.  Do you have the drillbit running on the paused VM? If you do
>> then you shouldn't be getting a heartbeat response. If the drill bit is
>> not
>> on the same VM, then I'm not sure how things are set up for you. Can you
>> explain?
>>
>> I have two VMs in my configuration. One VM contains the application and
> the JAVA Drill process.
> The HDFS backend is on another VM and I am suspending this.
> If I submit a query that involves inserting records into an Impala DB


I'm sure you meant Drill here, not Impala :)


> on the HDFS backend, then as far as I can tell, the query never times out.
> Since the application can communicate with the Drill process, the
> processing of the heartbeat PONG response ensures that the query timeout
> never triggers.
>
> Right, seems to me that the hdfs client does not seem to detect the lost
connection to the server and the Drill writer is blocked waiting for the
file system. This is an interesting setup, and not one that is usually
recommended.  In general you want Drill to run on the same node(s) as hdfs
or will you see far too much network transfer of data as your query
executes.



> So I have set up my application using the async SubmitQuery() and I'm
> waiting on my own timer and an Event that the query callback pings when it
> is done.
> That all works great, but I cannot find an application member to cancel a
> pending query that I've given up waiting for a response from.
>
Is there a method for cancelling pending queries other than returning an
> error from the callback (which won't work unless I actually get a
> callback)? :)
>

In include/drillClient.hpp there is

    DrillClient::cancelQuery(QueryHandle_t handle)

You get the query handle in the call to submitQuery. I haven't tried this
one myself, btw, but there is no reason for it to not work.


> Cheers,
> Ralph
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message