-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32468/
-----------------------------------------------------------
Review request for drill and Jacques Nadeau.
Bugs: DRILL-2498
https://issues.apache.org/jira/browse/DRILL-2498
Repository: drill-git
Description
-------
INITIAL PATCH (looking for feedback)
- removed **last chunk** from *QueryResult*
- separate **QueryResult** and **QueryData**, update RPC layer to handle this
separation
. **QueryResultHandler** handles data and result messages separately
. *UserClient* calls *QueryResultHandler.resultArrived()* / *dataArrived()*
depending on the received message
. bumped up **RPC_VERSION** in *UserRpcConfig*
. *UserServer* has separate *sendData()* / *sendResult()*
- updated **UserResultHandler** interface to handle data messages differently
from result messages:
. *dataArrived(QueryResultBatch result, ConnectionThrottle throttle)* is
called when a data batch is received
. *queryCompleted()* is called when a terminal (completed/canceled) message
is received
- the *Foreman* only sends QueryResult to the client
- In case of an error, The *ScreenRoot* doesn't send the error to the client.
The Foreman will send a FAILED *QueryResult* instead
- in case of a data batch, the *ScreenRoot* sends a *QueryData* to the client
- *QueryWritableBatch* and *QueryResultBatch* use *QueryData* instead of
*QueryResult*
- *VectorRecordMaterializer* builds a *QueryData* instead of *QueryResult*
- updated classes that implement *UserResultHandlers*:
. DrillClient.ListHoldingResultsListener
. PrintingResultsListener
. QueryWrapper.Listener
. BaseTestQuery.SilentListener
. SingleRowListener
. ParquetResultListener
. TestParquetPhysicalPlan
. DrillResultSet.ResultsListener
- updated several unit tests that were expecting an extra **last chunk** batch
. TestDateFunctions
. TestMultiInputAdd
. TestCastVarCharToBigInt
. TestDateTypes
- contains **DRILL-2521** (revert from proto 2.6.0 to 2.5.0)
will be removed from the final patch
- code cleanup: making loggers private, removing unused imports
Diffs
-----
exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java
6d4c86c
exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
926e703
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScreenCreator.java
404c453
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/materialize/QueryWritableBatch.java
2a59e22
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/materialize/RecordMaterializer.java
221fc34
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/materialize/VectorRecordMaterializer.java
cc1b3bf
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/QueryResultBatch.java
ab4c9ef
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/QueryResultHandler.java
c05b127
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserClient.java
925154d
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserResultsListener.java
9f83a4f
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserRpcConfig.java
908d304
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserServer.java
c76d324
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
8996a69
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java
44112c3
exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java 64cf2ec
exec/java-exec/src/test/java/org/apache/drill/SingleRowListener.java 07cb833
exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestDateFunctions.java
67aa4dd
exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMultiInputAdd.java
65848eb
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestCastVarCharToBigInt.java
84ac8cf
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestConvertFunctions.java
fc4c0cc
exec/java-exec/src/test/java/org/apache/drill/exec/record/vector/TestDateTypes.java
4cc82e4
exec/java-exec/src/test/java/org/apache/drill/exec/server/TestDrillbitResilience.java
9bc0552
exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
52d5086
exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
6cb412c
exec/java-exec/src/test/java/org/apache/drill/exec/vector/complex/writer/TestJsonReader.java
fe86192
exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java 0ce33f4
protocol/pom.xml d5ca70d
protocol/src/main/java/org/apache/drill/common/types/TypeProtos.java 67beed1
protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java 2502701
protocol/src/main/java/org/apache/drill/exec/proto/BitData.java b4a2f19
protocol/src/main/java/org/apache/drill/exec/proto/CoordinationProtos.java
45321ea
protocol/src/main/java/org/apache/drill/exec/proto/ExecProtos.java ca4f294
protocol/src/main/java/org/apache/drill/exec/proto/GeneralRPCProtos.java
32a63e5
protocol/src/main/java/org/apache/drill/exec/proto/SchemaDefProtos.java
024774a
protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java
68e86db
protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java 00a4905
protocol/src/main/java/org/apache/drill/exec/proto/UserProtos.java 330e774
protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryData.java
PRE-CREATION
protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryResult.java
d8eb92a
protocol/src/main/java/org/apache/drill/exec/proto/beans/RpcType.java 3f1f9fd
protocol/src/main/protobuf/User.proto 6c41a37
protocol/src/main/protobuf/UserBitShared.proto 1971e62
Diff: https://reviews.apache.org/r/32468/diff/
Testing
-------
Unit tests are passing. Can't test functional/customer/tpch100
Thanks,
abdelhakim deneche