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

Colin Patrick McCabe commented on HDFS-7492:
--------------------------------------------

I think a Guava cache could be useful to this.  Perhaps we could set the 
refresh time really low (or even to 0).

The goal is to avoid having 1000 "do checkDirs" requests pile up when a hard 
disk generates 1000 I/O errors.

> If multiple threads call FsVolumeList#checkDirs at the same time, we should 
> only do checkDirs once and give the results to all waiting threads
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-7492
>                 URL: https://issues.apache.org/jira/browse/HDFS-7492
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Colin Patrick McCabe
>
> checkDirs is called when we encounter certain I/O errors.  It's rare to get 
> just a single I/O error... normally you start getting many errors when a disk 
> is going bad.  For this reason, we shouldn't start a new checkDirs scan for 
> each error.  Instead, if multiple threads call FsVolumeList#checkDirs at 
> around the same time, we should only do checkDirs once and give the results 
> to all the waiting threads.



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

Reply via email to