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