You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by Parth Chandra <pc...@maprtech.com> on 2015/04/03 07:54:24 UTC
Re: Review Request 32640: DRILL-2573: C++ Client - Separate
QueryResult into QueryResult and QueryData
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32640/
-----------------------------------------------------------
(Updated April 3, 2015, 5:54 a.m.)
Review request for drill, Alexander zarei, Mehant Baid, Norris Lee, and Xiao Meng.
Changes
-------
The async API now calls the listener callback with a NULL record batch when the query completed message is returned.
Updated the async API to use this and also removed the use of is_last_chunk to check if query is complete.
Repository: drill-git
Description
-------
The original QueryResult message has been split into two parts, QueryResult which will carry only status information and QueryData which will contain the actual data.
As a part of this change, the server will no longer send back a last_chunk flag with the record batches. The server will guarantee sending back a 'terminal' state message which would be either QUERY_COMPLETED, QUERY_FAILE, or QUERY_CANCELED.
To manage this more cleanly, the C++ api no longer maintains a list of cancelled queries. Instead, if a QueryData message for a cancelled query is received, the API simply discards the message. If a QueryResult message for a cancelled query is received the state is updated and the API stops listening for more messages.
Diffs (updated)
-----
contrib/native/client/example/querySubmitter.cpp bef64bf
contrib/native/client/src/clientlib/drillClientImpl.hpp 33f81db
contrib/native/client/src/clientlib/drillClientImpl.cpp 71f960e
contrib/native/client/src/clientlib/recordBatch.cpp 44140b2
contrib/native/client/src/include/drill/common.hpp 6560692
contrib/native/client/src/include/drill/drillClient.hpp 9289df3
contrib/native/client/src/include/drill/recordBatch.hpp 92a4c3ad
contrib/native/client/src/protobuf/BitData.pb.h f1f9353
contrib/native/client/src/protobuf/BitData.pb.cc ef4f99d
contrib/native/client/src/protobuf/User.pb.h eca199d
contrib/native/client/src/protobuf/User.pb.cc d85c81b
contrib/native/client/src/protobuf/UserBitShared.pb.h bbf3fdc
contrib/native/client/src/protobuf/UserBitShared.pb.cc 7c237f6
Diff: https://reviews.apache.org/r/32640/diff/
Testing
-------
Mac, Win64, Linux 64(with Valgrind) for both sync and async APIs. Incuded queries that had errors, multiple queries in parallel and multiple queries in parallel with errors and cancellations.
Thanks,
Parth Chandra