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

Konstantin Shvachko commented on HDFS-2281:
-------------------------------------------

On the second thought. Why didn't you use processIOError() instead of your new 
reportErrorsOnDirectories(). Seems to be the appropriate method to call in the 
case. There is some extra logic in processIOError() related to removing edit 
streams etc.

> NPE in checkpoint during processIOError()
> -----------------------------------------
>
>                 Key: HDFS-2281
>                 URL: https://issues.apache.org/jira/browse/HDFS-2281
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>    Affects Versions: 0.22.0
>            Reporter: Konstantin Shvachko
>            Assignee: Uma Maheswara Rao G
>             Fix For: 0.22.0
>
>         Attachments: BN-bug-NPE.txt, HDFS-2281.patch
>
>
> At the end of checkpoint BackupNode tries to convergeJournalSpool() and calls 
> revertFileStreams(). The latter closes each file stream, and tries to rename 
> the corresponding file to its permanent location current/edits. If for any 
> reason the rename fails processIOError() is called for failed streams. 
> processIOError() will try to close the stream again and will get NPE in 
> EditLogFileOutputStream.close() because bufCurrent was set to null by the 
> previous close.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to