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