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

Raghu Angadi commented on HADOOP-2576:
--------------------------------------

Another issue that contributes this problem and made worse by large heartbeat :

# For each heartbeat, Namenode asks a datanode to delete blocks only the 
datanode does not need to transfer (for replication, rebalancing etc) any 
blocks. I don't see any reason by datanode can not do both. If a datanode gets 
asked to transfer one block in each minute, it never deletes anything.

# Similarly 'computeDatanodeWork()' does the same: it moves blocks from 
recentInvalidates to datanode's list only if no transfers are scheduled on a 
node.


> Namenode performance degradation over time
> ------------------------------------------
>
>                 Key: HADOOP-2576
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2576
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.16.0
>            Reporter: Christian Kunz
>            Assignee: Raghu Angadi
>            Priority: Blocker
>             Fix For: 0.16.0
>
>         Attachments: HADOOP-2576.patch
>
>
> We have a cluster running the same applications again and again with a high 
> turnover of files.
> The performance of these applications seem to be correlated to the lifetime 
> of the namenode:
> After starting the namenode, the applications need increasingly more time to 
> complete, with about 50% more time after 1 week. 
> During that time the namenode average cpu usage increases from typically 10% 
> to 30%, memory usage nearly doubles (although the average amount of data on 
> dfs stays the same), and the average load factor increases by a factor of 2-3 
> (although not  significantly high, <2).
> When looking at the namenode and datanode logs, I see a lot of asks to delete 
> blocks coming from the namenode for blocks not in the blockmap of the 
> datanodes, repeatedly for the same blocks.
> When I counted the number of blocks asked by the namenode to be deleted, I 
> noticed a noticeable increase with the lifetime of the namenode (a factor of 
> 2-3 after 1 week).
> This makes me wonder whether the namenode does not purge the list of invalid 
> blocks from non-existing blocks.
> But independently, the namenode has a degradation issue.

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