-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.18.2, 0.19.0
-
Fix Version/s: 0.20.0
-
Component/s: None
-
Labels:None
-
Hadoop Flags:Reviewed
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.
- blocks
-
HDFS-199 add replication factor for hdfs directory
-
- Open
-