drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Deneche A. Hakim (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-3132) Improve User Exceptions
Date Mon, 18 May 2015 22:01:00 GMT

    [ 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:
	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 ...

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

View raw message