[ 
https://issues.apache.org/jira/browse/HADOOP-803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raghu Angadi updated HADOOP-803:
--------------------------------

    Attachment: NameNodeMemoryHogs.txt

see attached NameNodeMemoryHogs.txt for better formated list. Following is 
cut-n-paste of the attachment.

Main FS wide datastructures : 
----------------------------- 
    
    blockMap        : block --> containing nodes : HashMap  
    activeBLocks    : block --> INode : HashMap 
    INode.children  : FileName --> INode : TreeMap (in dir INode). 
    DN.blocks       : block --> self : TreeMap ( in each DataNodeDescriptor ) 
    datanodeMap     : String --> DatanodeDescriptor ( linear cost with 
                                                      number of dataNodes ) 
Memory cost per Block : 
---------------------- 
  Before this patch : 
     Block Objects : 3 ( one per replica in DN.blocks) 
                     1 ( in blockMap ) 
                     1 ( in INode ); 
     TreeMap       : 1 ( containingNode TreeSet )  
     TreeMap$Entry : 3 ( conatiningNodes TreeSet in blockMap ) 
                     3 ( in DN.blocks in each of the nodes ) 
     HashMap$Entry : 1 ( blockMap ) 
                     1 ( activeBlocks ) 
 
  After this patch : 
     Block Objects : 1 ( in blockMap ) 
                     1 ( in INode that existed before NameNode restarted ) 
     ArrayList     : 1 ( containingNodes Arraylist )  
     TreeMap$Entry : 3 ( in DN.blocks in each of the nodes ) 
     HashMap$Entry : 1 ( blockMap ) 
                     1 ( activeBlocks ) 
 
Memory cost per INode : 
---------------------- 
     TreeMap       : 1 ( children. removed in this issue for regular files ) 
     TreeMap$Entry : 1 ( in parent.children ) 
     INode object  : 1 
     char[128]     : 1 (char[] used in String) 
     String        : 1 ( name ) 


> Reducing memory consumption on Namenode : Part 1
> ------------------------------------------------
>
>                 Key: HADOOP-803
>                 URL: https://issues.apache.org/jira/browse/HADOOP-803
>             Project: Hadoop
>          Issue Type: Bug
>          Components: dfs
>            Reporter: Raghu Angadi
>         Assigned To: Raghu Angadi
>             Fix For: 0.11.0
>
>         Attachments: block-refs-2.patch, block-refs-3.patch, 
> block-refs-5.patch, HADOOP-803-2.patch, HADOOP-803.patch, HADOOP-803_3.patch, 
> NameNodeMemoryHogs.txt
>
>
> There appears to be some places in Namenode that allow reducing memory 
> consumption without intrusive code or feature changes. This bug is an initial 
> attempt making those changes. Please include your thoughts as well. 
> One change I am planning to make : 
> Currently one copy of each block exists for each of the replicas and one copy 
> for blockMap. I think they are all supposed to be same.

-- 
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