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

Siyao Meng reassigned HDDS-17312:
---------------------------------

       Assignee: Siyao Meng
    Description: 
{{XceiverClientGrpc}} reads {{ozone.client.read.timeout}}, and 
{{ECXceiverClientGrpc}} reads {{ozone.client.ec.grpc.write.timeout}}, with 
{{getTimeDuration(..., TimeUnit.SECONDS)}}, and applies the result as the gRPC 
deadline in seconds ({{withDeadlineAfter(timeout, TimeUnit.SECONDS)}}). A 
sub-second value such as {{500ms}} becomes 0, so every request to the datanode 
fails immediately with {{DEADLINE_EXCEEDED}}. A value like {{1500ms}} becomes 
1s.

The short-circuit client and server ({{XceiverClientShortCircuit}}, 
{{XceiverServerDomainSocket}}) already read {{ozone.client.read.timeout}} in 
milliseconds.

Proposal: keep the timeout in milliseconds and use it as the deadline in 
milliseconds. A value without unit should still mean seconds for these two 
keys, to stay compatible with existing configurations.

  was:placeholder


> gRPC client read and EC write timeouts are truncated to whole seconds
> ---------------------------------------------------------------------
>
>                 Key: HDDS-17312
>                 URL: https://issues.apache.org/jira/browse/HDDS-17312
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Client
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> {{XceiverClientGrpc}} reads {{ozone.client.read.timeout}}, and 
> {{ECXceiverClientGrpc}} reads {{ozone.client.ec.grpc.write.timeout}}, with 
> {{getTimeDuration(..., TimeUnit.SECONDS)}}, and applies the result as the 
> gRPC deadline in seconds ({{withDeadlineAfter(timeout, TimeUnit.SECONDS)}}). 
> A sub-second value such as {{500ms}} becomes 0, so every request to the 
> datanode fails immediately with {{DEADLINE_EXCEEDED}}. A value like 
> {{1500ms}} becomes 1s.
> The short-circuit client and server ({{XceiverClientShortCircuit}}, 
> {{XceiverServerDomainSocket}}) already read {{ozone.client.read.timeout}} in 
> milliseconds.
> Proposal: keep the timeout in milliseconds and use it as the deadline in 
> milliseconds. A value without unit should still mean seconds for these two 
> keys, to stay compatible with existing configurations.



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