[ 
https://issues.apache.org/jira/browse/HADOOP-18915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17789664#comment-17789664
 ] 

ASF GitHub Bot commented on HADOOP-18915:
-----------------------------------------

steveloughran commented on code in PR #6180:
URL: https://github.com/apache/hadoop/pull/6180#discussion_r1404872786


##########
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/AWSClientConfig.java:
##########
@@ -378,17 +388,39 @@ private static void initSigner(Configuration conf,
    */
   private static void initRequestTimeout(Configuration conf,
       ClientOverrideConfiguration.Builder clientConfig) {
-    long requestTimeoutMillis = conf.getTimeDuration(REQUEST_TIMEOUT,
-        DEFAULT_REQUEST_TIMEOUT, TimeUnit.SECONDS, TimeUnit.MILLISECONDS);
+    final Duration requestTimeoutMillis = getDuration(conf, REQUEST_TIMEOUT,
+        DEFAULT_REQUEST_TIMEOUT, TimeUnit.SECONDS);
 
-    if (requestTimeoutMillis > Integer.MAX_VALUE) {
-      LOG.debug("Request timeout is too high({} ms). Setting to {} ms instead",
-          requestTimeoutMillis, Integer.MAX_VALUE);
-      requestTimeoutMillis = Integer.MAX_VALUE;
+    if (requestTimeoutMillis.toMillis() > 0) {
+      clientConfig.apiCallAttemptTimeout(requestTimeoutMillis);
     }
+  }
 
-    if(requestTimeoutMillis > 0) {
-      
clientConfig.apiCallAttemptTimeout(Duration.ofMillis(requestTimeoutMillis));
+  /**
+   * Get duration. This may be negative; callers must check.
+   * If the config option is greater than {@code Integer.MAX_VALUE} 
milliseconds,
+   * it is set to that max.
+   * Logs the value for diagnostics.
+   * @param conf config
+   * @param name option name
+   * @param defVal default value
+   * @param defaultUnit unit of default value
+   * @return duration. may be negative.

Review Comment:
   it's a java Duration class, so no need to specify unit



##########
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/impl/AWSClientConfig.java:
##########
@@ -378,17 +388,39 @@ private static void initSigner(Configuration conf,
    */
   private static void initRequestTimeout(Configuration conf,
       ClientOverrideConfiguration.Builder clientConfig) {
-    long requestTimeoutMillis = conf.getTimeDuration(REQUEST_TIMEOUT,
-        DEFAULT_REQUEST_TIMEOUT, TimeUnit.SECONDS, TimeUnit.MILLISECONDS);
+    final Duration requestTimeoutMillis = getDuration(conf, REQUEST_TIMEOUT,
+        DEFAULT_REQUEST_TIMEOUT, TimeUnit.SECONDS);
 
-    if (requestTimeoutMillis > Integer.MAX_VALUE) {
-      LOG.debug("Request timeout is too high({} ms). Setting to {} ms instead",
-          requestTimeoutMillis, Integer.MAX_VALUE);
-      requestTimeoutMillis = Integer.MAX_VALUE;
+    if (requestTimeoutMillis.toMillis() > 0) {
+      clientConfig.apiCallAttemptTimeout(requestTimeoutMillis);
     }
+  }
 
-    if(requestTimeoutMillis > 0) {
-      
clientConfig.apiCallAttemptTimeout(Duration.ofMillis(requestTimeoutMillis));
+  /**
+   * Get duration. This may be negative; callers must check.
+   * If the config option is greater than {@code Integer.MAX_VALUE} 
milliseconds,
+   * it is set to that max.
+   * Logs the value for diagnostics.
+   * @param conf config
+   * @param name option name
+   * @param defVal default value
+   * @param defaultUnit unit of default value
+   * @return duration. may be negative.
+   */
+  private static Duration getDuration(final Configuration conf,

Review Comment:
   nope





> Extend S3A http client connection 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
>
> * Add ability to configure *all* timeouts, especially acquisition time
> * recognise ApiCallTimeout and map tp a retryable exception
> * use getDuration so suffixes can be used -so remove all ambiguity about time 
> unit
> * use units in core-default.xml so warnings aren't printed



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to