[
https://issues.apache.org/jira/browse/HADOOP-988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12475551
]
Raghu Angadi commented on HADOOP-988:
-------------------------------------
now blocks map maps a Block to a new object BlockInfo. The effective savings
are 24 bytes for each of pre-existing blocks :
For each block : + BlockInfo object (24 bytes) - HashMap$Entry(24bytes in
activeBlocks) - Block (24 bytes for blocks that exist before namenode restarts)
If ArrayList used for datanodes containing a block can be changed to a java
array, it will be 24 more bytes per block. I am implementing this part now.
This ArrayList is moved into new BlockInfo object.
> Namenode should use single map for block to its meta data.
> ----------------------------------------------------------
>
> Key: HADOOP-988
> URL: https://issues.apache.org/jira/browse/HADOOP-988
> Project: Hadoop
> Issue Type: Improvement
> Components: dfs
> Reporter: Raghu Angadi
> Assigned To: Raghu Angadi
> Fix For: 0.12.0
>
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.