Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
This is a follow up from HADOOP-803. Currently there two maps which have similar functionality :
1) blockMap : maps block to list of datanodes that contain the block
2) activeBlocks : maps block to INode that it blongs to.
Apart from simplifying, it saves 32 bytes per block and 24 bytes by avoid extra block object we currently have for files that exist before Namenode starts (see HADOOP-803).
We could combine these two into something like block to
{ containingNodes, INode, etc }.
Another option is to get Move INode and list of dataNodes into Block object.
Another option that requires bigger change is not use Block object but just 64 bit BlockId. Then the map would be BlockId to all the block related info. I will file another Jira regd not using Block object in NameNode.