-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/32987/
-----------------------------------------------------------

(Updated April 11, 2015, 8:09 p.m.)


Review request for drill, Jacques Nadeau, Jason Altekruse, and Parth Chandra.


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/DrillRemoteException.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 
  
common/src/main/java/org/apache/drill/common/exceptions/UserExceptionContext.java
 PRE-CREATION 
  exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java 
9a948fb 
  
exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
 98948af 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java 
da2229c 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScreenCreator.java
 6b3caf4 
  
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/rpc/user/UserResultsListener.java
 934a094 
  
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
 fbbf0b8 
  
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/foreman/SqlUnsupportedException.java
 2299afa 
  
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 
  exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java 0c2f0e5 
  exec/java-exec/src/test/java/org/apache/drill/SingleRowListener.java 5703bf9 
  exec/java-exec/src/test/java/org/apache/drill/TestBugFixes.java 875fb25 
  exec/java-exec/src/test/java/org/apache/drill/TestDisabledFunctionality.java 
f62f060 
  exec/java-exec/src/test/java/org/apache/drill/TestStarQueries.java effef9b 
  exec/java-exec/src/test/java/org/apache/drill/TestUnionAll.java 11d83f9 
  
exec/java-exec/src/test/java/org/apache/drill/exec/server/TestDrillbitResilience.java
 e03098a 
  
exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/ParquetResultListener.java
 55f0d75 
  
exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetPhysicalPlan.java
 882cdbd 
  exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillCursor.java 3b38a09 
  exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java 74900bc 
  protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java 
f72d5e1 
  protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java ac1bcbb 
  protocol/src/main/java/org/apache/drill/exec/proto/beans/DrillPBError.java 
ac9cef5 
  protocol/src/main/protobuf/UserBitShared.proto 2938114 

Diff: https://reviews.apache.org/r/32987/diff/


Testing (updated)
-------

Unit tests are passing. Regression, customer and tpch100 are successful


Thanks,

abdelhakim deneche

Reply via email to