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]

Reply via email to