[ 
https://issues.apache.org/jira/browse/HDFS-8647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14954317#comment-14954317
 ] 

Ming Ma commented on HDFS-8647:
-------------------------------

[~brahmareddy], regarding the {{verifyBlockPlacement}} part, maybe it is ok to 
replace {{LocatedBlock}} with {{DatanodeInfo[]}} as in your earlier patch. If 
we need to add additional information for new scenarios, we can update the API 
again. In addition, such change might allow balancer to ask block placement 
policy if any move might violate the policy, as in HDFS-9007.

In addition, many changes around block management and block placement policy 
have gone. So I understand it requires some effort to rebase your patch.

Thanks for your work. It is close.

> Abstract BlockManager's rack policy into BlockPlacementPolicy
> -------------------------------------------------------------
>
>                 Key: HDFS-8647
>                 URL: https://issues.apache.org/jira/browse/HDFS-8647
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Ming Ma
>            Assignee: Brahma Reddy Battula
>         Attachments: HDFS-8647-001.patch, HDFS-8647-002.patch, 
> HDFS-8647-003.patch, HDFS-8647-004.patch, HDFS-8647-004.patch
>
>
> Sometimes we want to have namenode use alternative block placement policy 
> such as upgrade domains in HDFS-7541.
> BlockManager has built-in assumption about rack policy in functions such as 
> useDelHint, blockHasEnoughRacks. That means when we have new block placement 
> policy, we need to modify BlockManager to account for the new policy. Ideally 
> BlockManager should ask BlockPlacementPolicy object instead. That will allow 
> us to provide new BlockPlacementPolicy without changing BlockManager.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to