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

Walter Su commented on HDFS-7621:
---------------------------------

DN knows reportedBlock, doesn't know BlockGroup.
Balancer/Mover commnunicate DN directly. It's better Balancer/Mover schedule 
reportedBlock.
DBlock == reportedBlock. DBlock represents reportedBlock.
I don't want to extend DBlock to support BlockGroup, It's confusing.
DBlock.stripedBlock is DBlock type, But I treat it as a *normal* block, it's an 
associate block, it's a brother block. A DBlock should avoid co-located with 
its brother block.
Balancer/Mover doesn't know anything about stripe/blockGroup.

>... the current code should already be able to avoid placing 2 striped blocks 
>in the same group on the same node.
That's true. But how does Balancer send command to DN? With blockGroup Id or 
reportedBlock Id? Apparently It should be reportedBlock Id. Balancer/Mover need 
to figure out reportedBlock Id using indices[].  Mover knows indices[] because 
LocatedStripedBlock includes it. But Balancer doesn't know. We can make it know 
of couse. But it's complicated.


> Erasure Coding: update the Balancer/Mover data migration logic
> --------------------------------------------------------------
>
>                 Key: HDFS-7621
>                 URL: https://issues.apache.org/jira/browse/HDFS-7621
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: Walter Su
>         Attachments: HDFS-7621.001.patch
>
>
> Currently the Balancer/Mover only considers the distribution of replicas of 
> the same block during data migration: the migration cannot decrease the 
> number of racks. With EC the Balancer and Mover should also take into account 
> the distribution of blocks belonging to the same block group.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to