[
https://issues.apache.org/jira/browse/DRILL-3132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549321#comment-14549321
]
Deneche A. Hakim commented on DRILL-3132:
-----------------------------------------
when an exception happens on the server side, it's converted into a protobuf
error object and sent to the client. On the client side, QueryResultHandler
creates a UserRemoteException that wraps the protobuf object and pass this
exception to the result listener. If you try to print the stack trace of this
exception you will get the stack trace of the exception that was created on the
client side, for example:
{noformat}
at
org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:118)
at
org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:111)
at
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:47)
at
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:32)
at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:61)
at
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:233)
at
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:205)
at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
at ...
{noformat}
The problem here is that this stack trace has nothing to do with the real
exception and gives no useful information to the developer.
> Improve User Exceptions
> -----------------------
>
> Key: DRILL-3132
> URL: https://issues.apache.org/jira/browse/DRILL-3132
> Project: Apache Drill
> Issue Type: Improvement
> Reporter: Deneche A. Hakim
> Assignee: Deneche A. Hakim
> Priority: Minor
> Fix For: 1.2.0
>
>
> - add getErrorType(). UserRemoteException should return the error type of the
> underlying pberror object
> - override UserException.printStackTrace() to print the stack trace of the
> original exception, or in the case of UserRemoteException the stack trace
> that was passed with the pberror object.
> - user exception context can store "debug" informations that will only be
> visible for system errors or in verbose mode
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)