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

Yongjun Zhang commented on HDFS-9569:
-------------------------------------

HI Chris,

I think your main concern at this point is not to log the trace stack twice, my 
main concern has been to ensure that the error issued shows both the trace 
stack and the file name. I think separating the error logging and exception 
throwing may not give clear cause-effect relationship. 

There are different reasons for failure to load fsimage.  To be consistent, I 
think we can wrap the reason as a cause in an IOException. and let the code 
that catches the exception to find out the cause and deal with the cause 
accordingly.

I'm uploading rev 4 that wraps cause in IOException and ensure the trace stack 
is printed only once. I wonder whether it will work for you.

Thanks.




> Log the name of the fsimage being loaded for better supportability
> ------------------------------------------------------------------
>
>                 Key: HDFS-9569
>                 URL: https://issues.apache.org/jira/browse/HDFS-9569
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: namenode
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>            Priority: Trivial
>              Labels: supportability
>             Fix For: 2.7.3
>
>         Attachments: HDFS-9569.001.patch, HDFS-9569.002.patch, 
> HDFS-9569.003.patch
>
>
> When NN starts to load fsimage, it does
> {code}
>  void loadFSImageFile(FSNamesystem target, MetaRecoveryContext recovery,
>       FSImageFile imageFile, StartupOption startupOption) throws IOException {
>       LOG.debug("Planning to load image :\n" + imageFile);
>       ......
>     long txId = loader.getLoadedImageTxId();
>     LOG.info("Loaded image for txid " + txId + " from " + curFile);
> {code}
> A debug msg is issued at the beginning with the fsimage file name, then at 
> the end an info msg is issued after loading.
> If the fsimage loading failed due to corrupted fsimage (see HDFS-9406), we 
> don't see the first msg. It'd be helpful to always be able to see from NN 
> logs what fsimage file it's loading.
> Two improvements:
> 1. Change the above debug to info
> 2. If exception happens when loading fsimage, be sure to report the fsimage 
> name being loaded in the error message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to