[
https://issues.apache.org/jira/browse/HADOOP-18915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17789472#comment-17789472
]
Steve Loughran commented on HADOOP-18915:
-----------------------------------------
Here are the default timeouts in the synchronous client as defined in
{{software.amazon.awssdk.http.SdkHttpConfigurationOption}}. The 10s acquisition
timeout is important as if the connection pool is overloaded, this will trigger
fast.
{code}
/**
* The maximum amount of time that a TLS handshake is allowed to take from
the time the CLIENT HELLO
* message is sent to the time the client and server have fully negotiated
ciphers and exchanged keys.
*
* <p>
* If not specified, the default value will be the same as the resolved
{@link #CONNECTION_TIMEOUT}.
*/
public static final SdkHttpConfigurationOption<Duration>
TLS_NEGOTIATION_TIMEOUT =
new SdkHttpConfigurationOption<>("TlsNegotiationTimeout",
Duration.class);
private static final Duration DEFAULT_SOCKET_READ_TIMEOUT =
Duration.ofSeconds(30);
private static final Duration DEFAULT_SOCKET_WRITE_TIMEOUT =
Duration.ofSeconds(30);
private static final Duration DEFAULT_CONNECTION_TIMEOUT =
Duration.ofSeconds(2);
private static final Duration DEFAULT_CONNECTION_ACQUIRE_TIMEOUT =
Duration.ofSeconds(10);
private static final Duration DEFAULT_CONNECTION_MAX_IDLE_TIMEOUT =
Duration.ofSeconds(60);
private static final Duration DEFAULT_CONNECTION_TIME_TO_LIVE =
Duration.ZERO;
/**
* 5 seconds = 3 seconds (RTO for 2 packets loss) + 2 seconds (startup
latency and RTT buffer)
*/
private static final Duration DEFAULT_TLS_NEGOTIATION_TIMEOUT =
Duration.ofSeconds(5);
private static final Boolean DEFAULT_REAP_IDLE_CONNECTIONS = Boolean.TRUE;
private static final int DEFAULT_MAX_CONNECTIONS = 50;
private static final int DEFAULT_MAX_CONNECTION_ACQUIRES = 10_000;
private static final Boolean DEFAULT_TCP_KEEPALIVE = Boolean.FALSE;
private static final Boolean DEFAULT_TRUST_ALL_CERTIFICATES = Boolean.FALSE;
private static final Protocol DEFAULT_PROTOCOL = Protocol.HTTP1_1;
{code}
> S3A client builder to use getTImeDuration() for HTTP timeouts
> -------------------------------------------------------------
>
> Key: HADOOP-18915
> URL: https://issues.apache.org/jira/browse/HADOOP-18915
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Affects Versions: 3.4.0
> Reporter: Ahmar Suhail
> Assignee: Steve Loughran
> Priority: Major
> Labels: pull-request-available
>
> In the client config builders, when [setting
> timeouts|https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/AWSClientConfig.java#L120],
> it uses Duration.ofSeconds(), configs all use milliseconds so this needs to
> be updated to Duration.ofMillis().
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]