[
https://issues.apache.org/jira/browse/HDFS-9006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ming Ma updated HDFS-9006:
--------------------------
Attachment: HDFS-9006-2.patch
Thanks [~eddyxu] for the great input! Here is the updated patch.
bq. We can make class members in ... to be private final.
Fixed {{BlockPlacementStatusWithUpgradeDomain}}.
{{BlockPlacementPolicyWithUpgradeDomain}}'s class members can't be final as
they are inited during {{initialize}} call.
bq. Since we are using JDK7 now, we can use type inference ...
Fixed. Also updated other modified files in the patch.
bq. Can you make some adjustments on the comments for ...
Good point. I have updated the comment to explain the algorithm better as you
suggest.
bq. Regarding of #3, what is the typical relationship between rack and upgrade
domains
In our deployment, we use machine position within the rack as upgrade domain
id. But it is possible to config the cluster to have the same upgrade domain
cover more than one machine position; for example, machines at position {1,2}
within any rack have upgrade domain 1, {3,4} have upgrade domain 2, etc.
bq. what kind of implication it will have to the current data availability
model?
Great point. I have updated the description for the method to explain the
correctness of the approach. In short, upgrade domain policy will keep "any
block should be on at least two racks" policy.
> Provide BlockPlacementPolicy that supports upgrade domain
> ---------------------------------------------------------
>
> Key: HDFS-9006
> URL: https://issues.apache.org/jira/browse/HDFS-9006
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Ming Ma
> Assignee: Ming Ma
> Attachments: HDFS-9006-2.patch, HDFS-9006.patch
>
>
> As part of the upgrade domain feature, we need to provide the actual upgrade
> domain block placement.
> Namenode provides a mechanism to specify custom block placement policy. We
> can use that to implement BlockPlacementPolicy with upgrade domain support.
> {noformat}
> <property>
> <name>dfs.block.replicator.classname</name>
> <value>org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyWithUpgradeDomain</value>
> </property>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)