drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xiao Meng <xiaom...@gmail.com>
Subject Questions about recent state management changes in Drillbit
Date Tue, 02 Dec 2014 19:52:53 GMT
Hi,

We have observed recent changes in drill break the assumption of some C++
 application (like querySubmitter and ODBC driver).
We did a binary search on build version and the earliest change is:

https://builds.apache.org/job/drill-scm/142/

The change related should be:
DRILL-1517: Update Foreman to improve state management


Before  the Jenkin build 142, after the client send the query,  the
UserServer will send the results back in a sequence like:

RB[1] -> RB[2] ->  -> RB[n] -> QueryState_COMPLETED

where RB[i] is the i-th record patch and RB[n] is the one has the flag
is_last_chunk true.
With patch DRILL-1305 (https://issues.apache.org/jira/browse/DRILL-1305),
we let the C++ client consume the QueryState_COMPLETED message and get
notified the query is completed.

After build 142, we did not receive the QueryState_COMPLETED message
anymore. So the sequence is like:
RB[1] -> RB[2] ->  -> RB[n]
As a result, a application wait for the final query state message will hang
there.

Although we may also rely on RB[n] to notify the application to terminate
the query, what is the expected terminated state message we should rely
on?  It will be good to have an agreement on this.

Xiao

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