-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32987/
-----------------------------------------------------------
Review request for drill and Jacques Nadeau.
Bugs: DRILL-2675
https://issues.apache.org/jira/browse/DRILL-2675
Repository: drill-git
Description
-------
**INITIAL PATCH** with a working solution. This patch cleans the path for
errors, especially user errors with meaningful messages, to be propagated
properly to the client.
The patch includes changes to 2 existing use cases where the error message was
successfully improved.
The general idea is: if a code wants to throw an exception that contains a
meaningful error message, it throws a DrillUserException. The propagation code
will make sure this exception is propagated to the client. The user exception
object doesn't contain the final error message, but enough information about
the error, the client will use this information to display a better error
message.
Any exception that is not a DrillUserException (or one of it's subclasses) will
be considered as a system exception. For those exceptions the client will only
display the error id and drillbit identity in case the user wants to check the
logs for more informations about the error.
Error objects sent to the client will still contain a stack trace that can be
used to display more information if the client has enabled the error verbose
mode.
Diffs
-----
common/src/main/java/org/apache/drill/common/exceptions/DrillDataReadException.java
PRE-CREATION
common/src/main/java/org/apache/drill/common/exceptions/DrillParseException.java
PRE-CREATION
common/src/main/java/org/apache/drill/common/exceptions/DrillRemoteException.java
PRE-CREATION
common/src/main/java/org/apache/drill/common/exceptions/DrillSystemException.java
PRE-CREATION
common/src/main/java/org/apache/drill/common/exceptions/DrillUserException.java
PRE-CREATION
common/src/main/java/org/apache/drill/common/exceptions/ErrorHelper.java
PRE-CREATION
exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java
18b93e9
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScreenCreator.java
8038527
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/broadcastsender/BroadcastSenderRootExec.java
d17fdd4
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/partitionsender/StatusHandler.java
5e21878
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java
b98778d
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/CoordinationQueue.java
0016d6a
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RemoteRpcException.java
14ea873
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/RpcBus.java b974963
exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/QueryResultHandler.java
a1be83b
exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JSONRecordReader.java
cc7cb83
exec/java-exec/src/main/java/org/apache/drill/exec/work/ErrorHelper.java
0773d6c
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java
23ef0d3
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
8626d5b
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/AbstractStatusReporter.java
1b0885d
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java
a7e6c46
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/StatusReporter.java
26b5d68
protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java
f72d5e1
protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java 9a9d196
protocol/src/main/java/org/apache/drill/exec/proto/beans/DrillPBError.java
ac9cef5
protocol/src/main/java/org/apache/drill/exec/proto/beans/QueryResult.java
474e330
protocol/src/main/protobuf/UserBitShared.proto 5e44655
Diff: https://reviews.apache.org/r/32987/diff/
Testing
-------
Thanks,
abdelhakim deneche