[
https://issues.apache.org/jira/browse/HDFS-7613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14493550#comment-14493550
]
Li Bo commented on HDFS-7613:
-----------------------------
Thanks Walter for the work on this sub task. Please see my comments below.
If we spread data blocks across racks, we’re not considering network flow
caused by ec encoding/decoding work. If we put data_4 and data_3 on rack_3, and
let rack_3 does ec work, we can reduce the network flow between racks. If
rack_3 is down, client needs to reconstruct 2 blocks, but this is not slower
than reconstructing just 1 lost block.
HDFS-8073 has committed some changes in this patch, could you update your patch
based on newest branch code?
some points of patch 001:
1. How about renaming {{BlockPlacementPolicyEC}} to ECBlockPlacementPolicy
or other better name?
2. In {{ BlockPlacementPolicyEC }}, your IDE combines some import items,
you can configure your IDE to avoid this.
3. Several problems in comments, for example, {{that going to
choose}}(that are), {{we assume first 10 required blocks are data block}}(we
assume the first 10 required blocks are data blocks). You can check the
comments after the code is basically ready.
4. {{ BlockPlacementPolicyEC # initialize }} seems redundant because it
just calls parent’s public function. {{ BlockPlacementPolicyEC }} extends {{
BlockPlacementPolicyDefault }}, maybe it’s more proper to extend
{{BlockPlacementPolicy}}.
> Block placement policy for erasure coding groups
> ------------------------------------------------
>
> Key: HDFS-7613
> URL: https://issues.apache.org/jira/browse/HDFS-7613
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Zhe Zhang
> Assignee: Walter Su
> Attachments: HDFS-7613.001.patch
>
>
> Blocks in an erasure coding group should be placed in different failure
> domains -- different DataNodes at the minimum, and different racks ideally.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)