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

Yashaswini G A updated HDDS-15521:
----------------------------------
    Description: 
With {{{}ozone.client.stream.readblock.enable=true{}}}, Ozone client reads fail 
when the datanode selected for streaming read is unavailable or slow. The 
client times out after 10s and does not retry or fail over to another replica.


*Config set*
{{<name>ozone.client.stream.readblock.enable</name> }}
{{<value>true</value>}}

Steps to Reproduce
 # Enable {{ozone.client.stream.readblock.enable=true}}

 # Write a key with replication factor 3 (all datanodes up)

 # Stop 1–2 datanodes hosting the block replicas

 # Run {{ozone sh key get o3://<vol>/<bucket>/<key> /tmp/<file}}

*Command fails with:*
 
 {{WARN storage.StreamBlockInputStream: stream0-reader0: Failed to 
setCompleted: already completed 
exceptionallyjava.util.concurrent.ExecutionException: 
org.apache.ratis.protocol.exceptions.TimeoutIOException: Timed out waiting for 
response after PT10S}}

*Expected Result*

Read should succeed by reading from a healthy replica, same as the legacy 
{{{}BlockInputStream{}}}/{{{}readChunk{}}} path.

  was:
With {{{}ozone.client.stream.readblock.enable=true{}}}, Ozone client reads fail 
when the datanode selected for streaming read is unavailable or slow. The 
client times out after 10s and does not retry or fail over to another replica.

*Config set* 
 
 {{<name>ozone.client.stream.readblock.enable</name>  <value>true</value>}}
h3. 
Steps to Reproduce
 # Enable {{ozone.client.stream.readblock.enable=true}}

 # Write a key with replication factor 3 (all datanodes up)

 # Stop 1–2 datanodes hosting the block replicas

 # Run {{ozone sh key get o3://<vol>/<bucket>/<key> /tmp/<file}}


*Command fails with:*
 
 {{WARN storage.StreamBlockInputStream: stream0-reader0: Failed to 
setCompleted: already completed 
exceptionallyjava.util.concurrent.ExecutionException: 
org.apache.ratis.protocol.exceptions.TimeoutIOException: Timed out waiting for 
response after PT10S}}

*Expected Result*

Read should succeed by reading from a healthy replica, same as the legacy 
{{{}BlockInputStream{}}}/{{{}readChunk{}}} path.


> StreamBlockInputStream fails with TimeoutIOException without retry or 
> datanode failover
> ---------------------------------------------------------------------------------------
>
>                 Key: HDDS-15521
>                 URL: https://issues.apache.org/jira/browse/HDDS-15521
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Datanode
>            Reporter: Yashaswini G A
>            Priority: Major
>
> With {{{}ozone.client.stream.readblock.enable=true{}}}, Ozone client reads 
> fail when the datanode selected for streaming read is unavailable or slow. 
> The client times out after 10s and does not retry or fail over to another 
> replica.
> *Config set*
> {{<name>ozone.client.stream.readblock.enable</name> }}
> {{<value>true</value>}}
> Steps to Reproduce
>  # Enable {{ozone.client.stream.readblock.enable=true}}
>  # Write a key with replication factor 3 (all datanodes up)
>  # Stop 1–2 datanodes hosting the block replicas
>  # Run {{ozone sh key get o3://<vol>/<bucket>/<key> /tmp/<file}}
> *Command fails with:*
>  
>  {{WARN storage.StreamBlockInputStream: stream0-reader0: Failed to 
> setCompleted: already completed 
> exceptionallyjava.util.concurrent.ExecutionException: 
> org.apache.ratis.protocol.exceptions.TimeoutIOException: Timed out waiting 
> for response after PT10S}}
> *Expected Result*
> Read should succeed by reading from a healthy replica, same as the legacy 
> {{{}BlockInputStream{}}}/{{{}readChunk{}}} path.



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