hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yiqun Lin (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HDFS-12583) Ozone: Fix swallow exceptions which makes hard to debug failures
Date Tue, 03 Oct 2017 15:03:01 GMT

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

Yiqun Lin edited comment on HDFS-12583 at 10/3/17 3:02 PM:
-----------------------------------------------------------

Thanks for the comment, [~cheersyang]. I looked into this again, you are right. Actually the
exception stack info can be printed, the reason why I cannot find the stack info is that we
use the {{DEBUG}} level for printing errors. This way hides the error infos and makes me not
directly root cause the failures.
{noformat}
LOG.debug("IOException. ex : {}", fsExp);
{noformat}
I think we should use {{ERROR}} to replace {{DEBUG}} to print exception detail info.

bq. My concern is if we log the exception here, the stack trace might be printed twice if
a client catches such exception and print it again
This won't happens. For the client, it only prints the error message not the stack info (can
see {{ErrorTable#newError}})


was (Author: linyiqun):
Thanks for the comment, [~cheersyang]. I looked into this again, you are right. Actually the
exception stack info can be printed, the reason why I cannot find the stack info is that we
use the {{DEBUG}} level for printing errors. This way hides the error infos and makes me not
directly root cause the failures.
{noformat}
LOG.debug("IOException. ex : {}", fsExp);
{noformat}
I think we should use {{ERROR}} to replace {{DEBUG}} to print exception detail info.


> 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
>
>
> 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: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message