[ 
https://issues.apache.org/jira/browse/HADOOP-4771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653967#action_12653967
 ] 

Konstantin Shvachko commented on HADOOP-4771:
---------------------------------------------

+1 This looks good.

> FSImage saveFSImage() will have problem.
> ----------------------------------------
>
>                 Key: HADOOP-4771
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4771
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.19.0, 0.19.1, 0.20.0
>            Reporter: Ruyue Ma
>            Assignee: Ruyue Ma
>             Fix For: 0.19.1, 0.20.0
>
>         Attachments: hadoop-4771-v2.patch, hadoop-4771.patch
>
>
> When you format the namenode , hadoop will call FSImage.saveFsImage(). 
> saveFsImage includes the following code:
> out.writeLong(fsDir.rootDir.numItemsInTree());
> When format, the fsDir.rootDir.numItemsInTree() should be 1 (it include the 
> rootdir). But now fsDir.rootDir.numItemsInTree() is 0. 
> The reason why the bug is not simply discovered or triggered is the code in  
> FSImage.saveFsImage().->saveINode2Image().
>     } else {   // write directory inode
>       out.writeShort(0);  // replication
> Because  the directory doesn't have replication factor, so  here is 0. This 
> will cause loadFilesUnderConstruction() will not load any files when hadoop 
> fisrt starts up after format.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to