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

Walter Su commented on HDFS-8204:
---------------------------------

Update: This issue is about "DN". HDFS-8147 is about "Storage". It's different.

To [~szetszwo],
>... It only makes balancer scheduling inefficient.
Yes, it is. A little, not much. 
For example. A file with "cold" policy, 3 replicas.. Because one DN can only 
have one "cold" StorageGroup. There is no chance one DN has 2 replicas. The 
trunk code will reject it. So the 001 patch doesn't make balancer inefficient. 
"hot", "allssd" are the same.

For example. A file with "onessd" policy, 5 replicas. So there is 1 ssd 
replica, 4 disk replicas. Balancer is more likely choose 2 "disk" StorageGroups 
to make a (source, target) pair. The trunk code will reject it.  So the 001 
patch doesn't make balancer inefficient.

Only when choosing ("ssd" StorageGroup, "disk" StorageGroup)  to make a 
(source, target) pair, *trunk will accept it while the 001 patch reject it.*

For example. A file with "onessd" policy, 3 replicas. So there is 1 ssd 
replica, 2 disk replicas.  What if the cluster is midium/huge? So many "disk" 
StorageGroups, balancer can choose (source, target) whatever it want. So it wil 
not be inefficient.

*What's more important, 2 replicas located on 1 DN doesn't match placement 
policy.*

> Mover should not schedule two replicas to the same DN
> -----------------------------------------------------
>
>                 Key: HDFS-8204
>                 URL: https://issues.apache.org/jira/browse/HDFS-8204
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: balancer & mover
>            Reporter: Walter Su
>            Assignee: Walter Su
>         Attachments: HDFS-8204.001.patch
>
>
> Balancer moves blocks between Datanode(Ver. <2.6 ).
> Balancer moves blocks between StorageGroups ( introduced by HDFS-6584) , in 
> the new version(Ver. >=2.6) .
> function
> {code}
> class DBlock extends Locations<StorageGroup>
> DBlock.isLocatedOn(StorageGroup loc)
> {code}
> is flawed, may causes 2 replicas ends in same node after running balance.



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

Reply via email to