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

Vinayakumar B commented on HDFS-6685:
-------------------------------------

One doubt I have.
After this patch, Balancer's source and target have become storageGroups 
instead of datanode itself.

i.e. candidates for balancing are now storageGroups not datanode.

One thing we need to consider here is, Blocks in one storageGroups should not 
be moved to other storageGroup while balancing.
For ex: Blocks in SSD (Over utilized in one node) should not be moved to 
DISK(under utilized in another node)

In Current patch,
  Utilization calculation is done separately for each of the storageType. 
  But I haven't seen this condition while matching the targets for movement.

I feel a check for the storageType also required while selecting the target 
candidate. Am I right?


Also, following nit needs to be fixed.
{code}      private StorageGroup(DatanodeStorageReport r, StorageType 
storageType,
          double utilization, long maxSize2Move) {code}

Here {{r}} is not used. I feel this and related changes can be removed.

> Balancer should preserve storage type of replicas
> -------------------------------------------------
>
>                 Key: HDFS-6685
>                 URL: https://issues.apache.org/jira/browse/HDFS-6685
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: balancer
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>         Attachments: h6685_20140728.patch, h6685_20140729.patch, 
> h6685_20140730.patch
>
>
> When Balancer moves replicas to balance the cluster, it should always move 
> replicas from a storage with any type to another storage with the same type, 
> i.e. it preserves storage type of replicas.  It does not make sense to move 
> replicas to a different storage type.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to