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

Harsh J commented on HDFS-1804:
-------------------------------

Hi Aaron,

Nice patch. I have some mostly superficial comments:

* We call the following on every choosing call. While I do not imagine it to be 
overtly expensive, would it make sense to only do these calls every N times or 
for after every X total replica size bytes alone (X could be related to the 
space config we provide for this)?

{code}
+  private boolean areAllVolumesWithinFreeSpaceThreshold(final List<V> volumes)
{code}

* We're using ReflectionUtils with a conf object for initializing the chosen 
interface's implementation, so the below change to the interface (and 
associated changes) could perhaps be avoided if your implementation implements 
Configurable or extends Configured, and overrides setConf(…)?

{code}
+  
+  @Override
+  public void initialize(Configuration conf) {
+    // Nothing to initialize.
+  }
{code}

* Config names all around are getting longer and longer :) How 'bout we rename 
this to be more implementation specific and prefix it 
{{dfs.datanode.available.space.volume.choosing.policy.balanced-space-}} instead 
of {{dfs.datanode.fsdataset.volume.choosing.balanced-space-}}? Just a nit, but 
I think it then looks more specifically applying to a specific policy.

* Why would one not want to have this set as default? If just for initial 
stability reasons (I think the tests are good), can we have a JIRA to toggle it 
as default in future?

Thoughts?
                
> 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-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