[ 
https://issues.apache.org/jira/browse/HADOOP-3272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12590582#action_12590582
 ] 

lohit vijayarenu commented on HADOOP-3272:
------------------------------------------

Here is the jmap output of namenode without the patch
{noformat}
[lohit@ ~]$jmap -histo 34713 | grep Block
  8:     23347      747104  org.apache.hadoop.dfs.BlocksMap$BlockInfo
 13:     23352      560448  org.apache.hadoop.dfs.Block
 21:      1785      119120  [Lorg.apache.hadoop.dfs.BlocksMap$BlockInfo;
396:         5          80  [Lorg.apache.hadoop.dfs.Block;
399:         5          80  org.apache.hadoop.dfs.BlocksMap$NodeIterator
443:         4          64  
org.apache.hadoop.dfs.BlockCrcUpgradeObjectNamenode$UpgradeStatus
479:         1          48  org.apache.hadoop.dfs.PendingReplicationBlocks
489:         2          48  org.apache.hadoop.dfs.LocatedBlock
516:         1          40  java.util.concurrent.LinkedBlockingQueue
586:         1          32  
[Lorg.apache.hadoop.dfs.BlockCrcUpgradeObjectNamenode$UpgradeStatus;
696:         1          16  org.apache.hadoop.dfs.BlocksMap
700:         1          16  java.util.concurrent.LinkedBlockingQueue$Node
702:         1          16  org.apache.hadoop.dfs.UnderReplicatedBlocks
721:         1          16  
org.apache.hadoop.dfs.PendingReplicationBlocks$PendingReplicationMonitor
838:         1           8  org.apache.hadoop.dfs.LocatedBlock$1
853:         1           8  org.apache.hadoop.dfs.LocatedBlocks$2
862:         1           8  org.apache.hadoop.dfs.BlockCommand$1
880:         1           8  org.apache.hadoop.dfs.Block$1
{noformat}

and here is one with the patch
{noformat}
[lohit@ ~]$jmap -hist 29874 | grep Block 
 13:      9362      299584  org.apache.hadoop.dfs.BlocksMap$BlockInfo
 35:      1184       53096  [Lorg.apache.hadoop.dfs.BlocksMap$BlockInfo;
236:        27         648  org.apache.hadoop.dfs.LocatedBlock
274:        27         432  org.apache.hadoop.dfs.BlocksMap$NodeIterator
475:         3          96  org.apache.hadoop.dfs.LocatedBlocks
555:         4          64  
org.apache.hadoop.dfs.BlockCrcUpgradeObjectNamenode$UpgradeStatus
600:         1          48  org.apache.hadoop.dfs.PendingReplicationBlocks
638:         1          40  java.util.concurrent.LinkedBlockingQueue
732:         1          32  
[Lorg.apache.hadoop.dfs.BlockCrcUpgradeObjectNamenode$UpgradeStatus;
750:         1          24  
org.apache.hadoop.dfs.PendingReplicationBlocks$PendingBlockInfo
859:         1          16  org.apache.hadoop.dfs.BlocksMap
866:         1          16  java.util.concurrent.LinkedBlockingQueue$Node
871:         1          16  org.apache.hadoop.dfs.UnderReplicatedBlocks
893:         1          16  
org.apache.hadoop.dfs.PendingReplicationBlocks$PendingReplicationMonitor
953:         1           8  org.apache.hadoop.dfs.BlockCommand$1
1014:         1           8  org.apache.hadoop.dfs.LocatedBlock$1
1025:         1           8  org.apache.hadoop.dfs.LocatedBlocks$2
1046:         1           8  org.apache.hadoop.dfs.Block$1
{noformat}

Number of blocks in both run were different, but we can see that number of 
difference in Block objects.

We have  key/value (Block/BlockInfo) for each Block in the FileSystem stored in 
FSNameSystem.blocksMap. Using the same BlockInfo for both key/value 
(BlockInfo/BlockInfo) would reduce one copy of Block for each Block in 
FileSystem

I will run TestDFSIO as suggested by Konstantine

> Reduce redundant copy of Block object in BlocksMap.map hash map
> ---------------------------------------------------------------
>
>                 Key: HADOOP-3272
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3272
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>         Environment: All
>            Reporter: lohit vijayarenu
>            Assignee: lohit vijayarenu
>             Fix For: 0.18.0
>
>         Attachments: HADOOP-3272.patch
>
>
> Looks like we might have redundant copy of Block object as Key for 
> BlocksMap.map hash map. We should restore this to using same object for both 
> Key, Value to save space. 

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