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

Arpit Agarwal commented on HDFS-6988:
-------------------------------------

bq. Why would I want the number of bytes that I keep free at all times to 
double when my ramdisk size goes from 4g to 8g, for example?
The memory is certainly not kept free at all times. We also cap the number of 
evictions at a time. From my system testing even with a low to moderate write 
load, RAM disk usage is usually at 100%.

During low or no load the eviction will gradually push out replicas to get to 
10% free space (now capped at a maximum of 10 replicas). Write workloads are by 
nature spiky and we need to keep some margin of free space to absorb sudden 
load.

bq. I don't understand why we can't simply have this be a single number, 

I explained this earlier, a single number fails to work well for a range of 
disks and makes configuration mandatory. What would you choose as the default 
value of this single setting. Let's say we choose 1GB or higher. Then we are 
wasting at least 25% of space on a 4GB RAM disk. Or we choose 512MB. Then we 
are not evicting fast enough to keep up with multiple writers on a 50GB disk.

I dislike adding more mandatory configuration given the complexity of 
configuring Hadoop. You are underestimating the administrator/developer burden 
when we ship with poor defaults and a single value makes for a poor default. 
Having multiple control parameters makes it unlikely the administrator will 
have to change any of them. Honestly my preference is not to expose any of 
these settings. As a compromise I am fine with exposing the settings and you 
expressed agreement with the configurable upper limit above.

> Add configurable limit for percentage-based eviction threshold
> --------------------------------------------------------------
>
>                 Key: HDFS-6988
>                 URL: https://issues.apache.org/jira/browse/HDFS-6988
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: HDFS-6581
>            Reporter: Arpit Agarwal
>            Assignee: Arpit Agarwal
>             Fix For: HDFS-6581
>
>         Attachments: HDFS-6988.01.patch, HDFS-6988.02.patch
>
>
> Per feedback from [~cmccabe] on HDFS-6930, we can make the eviction 
> thresholds configurable. The hard-coded thresholds may not be appropriate for 
> very large RAM disks.



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

Reply via email to