Siyao Meng created HDDS-17329:
---------------------------------
Summary: Ratis client write can take about 2 minutes although
hdds.ratis.client.request.write.timeout is 70s
Key: HDDS-17329
URL: https://issues.apache.org/jira/browse/HDDS-17329
Project: Apache Ozone
Issue Type: Bug
Components: Ozone Client
Reporter: Siyao Meng
Assignee: Siyao Meng
The Ratis client retry policy ({{RequestTypeDependentRetryPolicyCreator}})
checks {{hdds.ratis.client.request.write.timeout}} (70s) only when an attempt
fails, and each attempt is bounded by
{{hdds.ratis.raft.client.rpc.request.timeout}} (60s). On a timeout it retries
with exponential backoff (base 1s, max 5s). So if the leader does not answer,
the first attempt fails at 60s, which is within 70s; the client sleeps 1 to 3s
and tries again, and the second attempt fails at about 121 to 123s (by
calculation). In general a write can take up to about the write timeout plus
the request timeout.
Proposed fix: bound each request by the remaining write timeout in
{{XceiverClientRatis.sendRequestAsync}}, or keep the default RPC request
timeout at most half of the write timeout.
Related: HDDS-15444
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]