[ 
https://issues.apache.org/jira/browse/HDDS-17328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Siyao Meng reassigned HDDS-17328:
---------------------------------

    Assignee:     (was: Siyao Meng)

> EC read waits about 2 minutes on an unresponsive datanode before switching to 
> reconstruction
> --------------------------------------------------------------------------------------------
>
>                 Key: HDDS-17328
>                 URL: https://issues.apache.org/jira/browse/HDDS-17328
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: EC Client
>            Reporter: Siyao Meng
>            Priority: Major
>
> {{ECBlockInputStream}} reads each data index through a single-datanode 
> pipeline. On a failed read, its {{BlockInputStream}} retries 
> {{ozone.client.read.max.retries}} (3) times with 
> {{ozone.client.read.retry.interval}} (1s), and a deadline exceeded error is 
> not treated as a connectivity failure, so it retries the same datanode. Only 
> then does {{BadDataLocationException}} make {{ECBlockInputStreamProxy}} 
> switch to reconstruction read. With an unresponsive datanode (not refusing 
> connections) this is 4 × 30s ({{ozone.client.read.timeout}}) + 3 × 1s, about 
> 2 minutes, for each block with an index on that datanode (by calculation). A 
> datanode that refuses connections fails in a few seconds.
> Proposed fix: switch to reconstruction read on the first timeout from a 
> datanode, instead of retrying the same datanode.
> Related: HDDS-16871 (share failed datanodes across the blocks of a key), 
> HDDS-16868



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to