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