You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Hairong Kuang (JIRA)" <ji...@apache.org> on 2009/03/03 02:29:56 UTC

[jira] Commented: (HADOOP-5145) Balancer sometimes runs out of memory after days or weeks running

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

Hairong Kuang commented on HADOOP-5145:
---------------------------------------

I plan to allow balancer to throw away blocks that was moved more than one and half hour ago. I will use two windows of moved blocks: current window and old window. When a block is added, it is always added to the current window. Between iterations, balancer tries to cleanup old moved blocks. It checks to see if the blocks in the old window is at least 1.5 hour old. If yes, it purges the old window and moves blocks in the current window to the old window.

> Balancer sometimes runs out of memory after days or weeks running
> -----------------------------------------------------------------
>
>                 Key: HADOOP-5145
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5145
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: dfs
>            Reporter: Hairong Kuang
>            Assignee: Hairong Kuang
>             Fix For: 0.21.0
>
>
> The culprit is a HashMap called MovedBlocks. By design this map does not get cleaned up between iterations. This is because the deletion of source replicas is done by NN. When next iteration starts, source replicas may not have been deleted, Balancer does not want to schedule them to move again. To prevent running out of memory, Balancer should expire/clean the movedBlocks from some iterations back.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.