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

ASF GitHub Bot commented on HDFS-17936:
---------------------------------------

lfxy opened a new pull request, #8558:
URL: https://github.com/apache/hadoop/pull/8558

   The current slow disk detection does not differentiate between storage 
types. When a DataNode has 1 SSD and 10 HDDs with 
dfs.datanode.max.slowdisks.to.exclude=2 and
   dfs.datanode.min.outlier.detection.disks=5, if the SSD is under heavy 
read/write load, the single SSD may be identified as a slow disk. Client tasks 
writing SSD data to that DataNode will then fail to select a volume and report: 
No more available volumes.
   `public V chooseVolume(List<V> volumes, long replicaSize, String storageId)
       throws IOException {
     if (volumes.size() < 1) {
       throw new DiskOutOfSpaceException("No more available volumes");
     }
   ...
   } `
   Therefore, slow disk detection should be performed separately for each 
storage type. If the number of disks of a given storage type is less than 
dfs.datanode.min.outlier.detection.disks, detection for that storage type is 
skipped entirely.




> Detect slow disks separately by storage type
> --------------------------------------------
>
>                 Key: HDFS-17936
>                 URL: https://issues.apache.org/jira/browse/HDFS-17936
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 3.6.0
>            Reporter: caozhiqiang
>            Assignee: caozhiqiang
>            Priority: Major
>
> The current slow disk detection does not differentiate between storage types. 
> When a DataNode has 1 SSD and 10 HDDs with 
> dfs.datanode.max.slowdisks.to.exclude=2 and
> dfs.datanode.min.outlier.detection.disks=5, if the SSD is under heavy 
> read/write load, the single SSD may be identified as a slow disk. Client 
> tasks writing SSD data to that DataNode will then fail to select a volume and 
> report: No more available volumes.
> {code:java}
> public V chooseVolume(List<V> volumes, long replicaSize, String storageId)
>     throws IOException {
>   if (volumes.size() < 1) {
>     throw new DiskOutOfSpaceException("No more available volumes");
>   }
> ...
> } {code}
> Therefore, slow disk detection should be performed separately for each 
> storage type. If the number of disks of a given storage type is less than 
> dfs.datanode.min.outlier.detection.disks, detection for that storage type is 
> skipped entirely.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to