[
https://issues.apache.org/jira/browse/HDFS-7613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14494969#comment-14494969
]
Zhe Zhang commented on HDFS-7613:
---------------------------------
Thanks Walter for the patch! Please find my review below:
Overall:
# It needs a rebase to resolve conflicts on {{BlockPlacementPolicyDefault}}
# A large portion of the current patch adds support for multiple placement
policies ({{BlockPlacementPolicies}}). We should separate this part out (maybe
put it under HDFS-7068), and let this JIRA focus on the EC policy itself. It
will make the patches easier to review and also easier to backport / cherrypick.
Multi-policy:
# {{BlockPlacementPolicies}} in {{BlockManager}} looks good to me. If we are to
support per-file policy, we can't avoid maintaining a set of policies instead
of a single {{blockplacement}}.
# Adding {{ecschema}} to the abstract method
{{BlockPlacementPolicy#chooseTarget}} isn't ideal. Maybe we should add a
{{setSchema()}} method in the EC policy class instead?
# {{ErasureCodingWork}} does have access to the {{BlockCollection}}, so it can
obtain the {{isStriped}} flag from there, as well as the schema. So I don't
think we need to extend its signature to take the policy. I haven't checked all
other places with extended signatures. But in general, we can select the policy
as late as possible, to avoid carrying it around method signatures.
Nits:
# The {{BlockPlacementPolicyEC}} name is probably fine, following the
convention from {{BlockPlacementPolicyDefault}}.
The EC policy itself looks good overall. I will post a detailed review when
above are addressed.
> 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)