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

Chris Nauroth commented on HDFS-1804:
-------------------------------------

Hi, Aaron.  This looks really good.  I applied the patch locally and ran the 
new tests successfully.  Here are a couple of thoughts:

# The algorithm doesn't apply a scaling factor to account for a heterogeneous 
set of volumes.  For example, consider a mix of 500 GB disks and 2 TB disks, 
all initially empty.  It would favor the 2 TB disks heavily until the amount of 
free space across all volumes (both 500 GB and 2 TB) balanced out.  This would 
mean that the risk of harming concurrency is higher if using heterogeneous 
volumes.  Another scaling factor for relative volume capacity could account for 
this.  I defer to you on whether or not to consider this in scope right now or 
skip it and treat it as a potential future feature request to be handled in a 
different jira.  The scope that I see in the jira description is open-ended.  I 
don't think you can even get total capacity through {{FsVolumeSpi}} right now, 
so I expect it would be a much bigger change.
# Minor thing: the new helper methods in {{GenericTestUtils}} would have 
greater symmetry with JUnit's built-in assert methods if the order of arguments 
was: expected, actual, delta.
# For initialization of {{balancedPreferencePercent}}:

{code}
  private float balancedPreferencePercent = 0.75f;
{code}

Do you want to use 
{{DFSConfigKeys#DFS_DATANODE_FSDATASET_VOLUME_CHOOSING_BALANCED_SPACE_PREFERENCE_PERCENT_DEFAULT}}
 here?  (Though I imagine it won't really matter in practice since it gets 
overwritten from config.)


Thanks, Aaron!

                
> Modify or add a new block-volume device choosing policy that looks at free 
> space
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-1804
>                 URL: https://issues.apache.org/jira/browse/HDFS-1804
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: datanode
>    Affects Versions: 2.0.4-alpha
>            Reporter: Harsh J
>            Assignee: Aaron T. Myers
>            Priority: Minor
>         Attachments: HDFS-1804.patch, HDFS-1804.patch, HDFS-1804.patch, 
> HDFS-1804.patch
>
>
> HDFS-1120 introduced pluggable block-volume choosing policies, but still 
> carries the vanilla RoundRobin as its default.
> An additional implementation that also takes into consideration the free 
> space remaining on the disk (or other params) should be a good addition as an 
> alternative to vanilla RR.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to