[ 
https://issues.apache.org/jira/browse/HDFS-12583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16191600#comment-16191600
 ] 

Chen Liang commented on HDFS-12583:
-----------------------------------

Thanks [~cheersyang], [~linyiqun] for the follow-up! I'm under the impression 
that, if we are to pass the full exception stack back to client, there is 
probably no need to even have the error table and error code. The idea of 
having error code, as it appears to me, seems to have only several categories 
of exceptions that client side understands, one reason for this might be, as 
mentioned by Yiqun, to simplify json parsing things. Not saying this is the 
best way though, either encapsulating the original exception or just error 
message with error code looks good to me. But I feel like if we want to carry 
the original exception back to client, we might need some major refactoring on 
error handling.

> Ozone: Fix swallow exceptions which makes hard to debug failures
> ----------------------------------------------------------------
>
>                 Key: HDFS-12583
>                 URL: https://issues.apache.org/jira/browse/HDFS-12583
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ozone
>    Affects Versions: HDFS-7240
>            Reporter: Yiqun Lin
>            Assignee: Yiqun Lin
>         Attachments: HDFS-12583-HDFS-7240.001.patch, 
> HDFS-12583-HDFS-7240.002.patch, HDFS-12583-HDFS-7240.003.patch
>
>
> There are some places that swallow exceptions that makes client hard to debug 
> the failure. For example, if we get xceiver client from xceiver client 
> manager error, client only gets the error info like this:
> {noformat}
> org.apache.hadoop.ozone.web.exceptions.OzoneException: Exception getting 
> XceiverClient.
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at 
> com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:119)
>       at 
> com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createUsingDefault(StdValueInstantiator.java:243)
> {noformat}
> The error exception stack is missing. We should print the error log as well.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to