[ https://issues.apache.org/jira/browse/HADOOP-4771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653204#action_12653204 ]
Ruyue Ma commented on HADOOP-4771: ---------------------------------- The modification is simple. In FSDirectory, the original code is public FSDirectory(FSImage fsImage, FSNamesystem ns, Configuration conf) throws IOException { rootDir = new INodeDirectoryWithQuota(INodeDirectory.ROOT_NAME, ns.createFsOwnerPermissions(new FsPermission((short)0755)), ns.getDefaultReplication(), Integer.MAX_VALUE, -1); this.fsImage = fsImage; namesystem = ns; initialize(conf); } the modified version is: public FSDirectory(FSImage fsImage, FSNamesystem ns, Configuration conf) throws IOException { rootDir = new INodeDirectoryWithQuota(INodeDirectory.ROOT_NAME, ns.createFsOwnerPermissions(new FsPermission((short)0755)), ns.getDefaultReplication(), Integer.MAX_VALUE, -1); this.fsImage = fsImage; namesystem = ns; initialize(conf); updateCountForINodeWithQuota(); } > 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 > Fix For: 0.19.1, 0.20.0 > > > Now the directory doesn't have replication factor. so in > FSImage.saveFsImage(). > 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 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.