[ 
https://issues.apache.org/jira/browse/HDFS-10530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15925588#comment-15925588
 ] 

Takanobu Asanuma commented on HDFS-10530:
-----------------------------------------

Thanks for the patch, [~manojg]! Mostly it looks good to me. Some comments.

* It would be more readable if the names of the additional DNs are different 
from the first DNs.

{code}
cluster.startDataNodes(conf, 3, true, null,
    new String[]{ "/rack3", "/rack4", "/rack5"},
    new String[]{"host3-2", "host4-2", "host5-2"}, null);
cluster.triggerHeartbeats();
{code}

* It seems the block-placement-policy keeps being satisfied during the EC 
reconstruction. So the {{GenericTestUtils.waitFor}} does not assure it's 
finished. We can use {{DFSTestUtil.waitForReplication}} instead of the 
{{GenericTestUtils.waitFor}}.

{code}
DFSTestUtil.waitForReplication(dfs, testFileUnsatisfied,
  (short)(numDataBlocks + numParityBlocks), 15 * 1000);
{code}

> BlockManager reconstruction work scheduling should correctly adhere to EC 
> block placement policy
> ------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-10530
>                 URL: https://issues.apache.org/jira/browse/HDFS-10530
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>            Reporter: Rui Gao
>            Assignee: Manoj Govindassamy
>              Labels: hdfs-ec-3.0-nice-to-have
>         Attachments: HDFS-10530.1.patch, HDFS-10530.2.patch, 
> HDFS-10530.3.patch, HDFS-10530.4.patch
>
>
> This issue was found by [~tfukudom].
> Under RS-DEFAULT-6-3-64k EC policy, 
> 1. Create an EC file, the file was witten to all the 5 racks( 2 dns for each) 
> of the cluster.
> 2. Reconstruction work would be scheduled if the 6th rack is added. 
> 3. While adding the 7th rack or more racks will not trigger reconstruction 
> work. 
> Based on default EC block placement policy defined in 
> “BlockPlacementPolicyRackFaultTolerant.java”, EC file should be able to be 
> scheduled to distribute to 9 racks if possible.
> In *BlockManager#isPlacementPolicySatisfied(BlockInfo storedBlock)* , 
> *numReplicas* of striped blocks might should be *getRealTotalBlockNum()*, 
> instead of *getRealDataBlockNum()*.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to