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

Siyao Meng reassigned HDDS-17310:
---------------------------------

       Assignee: Siyao Meng
    Description: 
When an OM or SCM host does not respond to TCP connection attempts at all (host 
down behind a router, NIC or firewall dropping packets, stale Kubernetes pod 
IP), the client spends about 15 minutes on that one server before failing over 
to the next OM or SCM.

The OM and SCM failover proxy providers create RPC proxies with 
{{RetryPolicies.failoverOnNetworkException(0)}} so that the IPC layer does not 
retry on the same server and the provider fails over instead. That policy only 
applies to connection failures such as connection refused. A 
{{ConnectTimeoutException}} is retried separately in 
{{Client.Connection#setupConnection}} up to 
{{ipc.client.connect.max.retries.on.timeouts}} (Hadoop default 45) times, each 
waiting {{ipc.client.connect.timeout}} (default 20s), which is about 15 minutes 
per failover attempt. Ozone does not override either key. HDDS-16376 shows this 
in practice ({{Retrying connect to server: scm1:9860. Already tried 44 time(s); 
maxRetries=45}}).

HDFS avoids this for HA NameNode proxies by setting 
{{ipc.client.connect.max.retries.on.timeouts}} to 0 by default 
({{dfs.client.failover.connection.retries.on.timeouts}}).

Proposal: for RPC proxies created by the OM and SCM failover proxy providers, 
use {{ipc.client.connect.max.retries.on.timeouts=0}} unless the key is set 
explicitly. The count is read per connection ({{ConnectionId}}), so it applies 
even though the IPC {{Client}} is cached (see HDDS-16382, which covers the 
separate RPC timeout and connect timeout tuning).

  was:placeholder


> OM and SCM clients retry a connect timeout on the same server for about 15 
> minutes
> ----------------------------------------------------------------------------------
>
>                 Key: HDDS-17310
>                 URL: https://issues.apache.org/jira/browse/HDDS-17310
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: Ozone Client, SCM Client
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> When an OM or SCM host does not respond to TCP connection attempts at all 
> (host down behind a router, NIC or firewall dropping packets, stale 
> Kubernetes pod IP), the client spends about 15 minutes on that one server 
> before failing over to the next OM or SCM.
> The OM and SCM failover proxy providers create RPC proxies with 
> {{RetryPolicies.failoverOnNetworkException(0)}} so that the IPC layer does 
> not retry on the same server and the provider fails over instead. That policy 
> only applies to connection failures such as connection refused. A 
> {{ConnectTimeoutException}} is retried separately in 
> {{Client.Connection#setupConnection}} up to 
> {{ipc.client.connect.max.retries.on.timeouts}} (Hadoop default 45) times, 
> each waiting {{ipc.client.connect.timeout}} (default 20s), which is about 15 
> minutes per failover attempt. Ozone does not override either key. HDDS-16376 
> shows this in practice ({{Retrying connect to server: scm1:9860. Already 
> tried 44 time(s); maxRetries=45}}).
> HDFS avoids this for HA NameNode proxies by setting 
> {{ipc.client.connect.max.retries.on.timeouts}} to 0 by default 
> ({{dfs.client.failover.connection.retries.on.timeouts}}).
> Proposal: for RPC proxies created by the OM and SCM failover proxy providers, 
> use {{ipc.client.connect.max.retries.on.timeouts=0}} unless the key is set 
> explicitly. The count is read per connection ({{ConnectionId}}), so it 
> applies even though the IPC {{Client}} is cached (see HDDS-16382, which 
> covers the separate RPC timeout and connect timeout tuning).



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