This is an automated email from the ASF dual-hosted git repository.

slfan1989 pushed a commit to branch branch-3.4.0
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/branch-3.4.0 by this push:
     new ec8d3a6e65b7 YARN-11634. [Addendum] Speed-up TestTimelineClient. 
(#6419)
ec8d3a6e65b7 is described below

commit ec8d3a6e65b7b538725b90604d8c811a49568084
Author: slfan1989 <55643692+slfan1...@users.noreply.github.com>
AuthorDate: Mon Jan 15 15:44:17 2024 +0800

    YARN-11634. [Addendum] Speed-up TestTimelineClient. (#6419)
    
    Co-authored-by: slfan1989 <slfan1...@apache.org>
---
 .../yarn/client/api/impl/TimelineClientImpl.java   |  6 +++++
 .../yarn/client/api/impl/TimelineConnector.java    | 28 +++++++++++-----------
 .../yarn/client/api/impl/TestTimelineClient.java   |  4 ++--
 3 files changed, 22 insertions(+), 16 deletions(-)

diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
index 2b9ce4fa8f2a..45da0f444ba0 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
@@ -459,4 +459,10 @@ public class TimelineClientImpl extends TimelineClient {
   public void setTimelineWriter(TimelineWriter writer) {
     this.timelineWriter = writer;
   }
+
+  @Private
+  @VisibleForTesting
+  public TimelineConnector getConnector() {
+    return connector;
+  }
 }
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
index b139bddd101e..dce877f3cb83 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
@@ -78,8 +78,8 @@ public class TimelineConnector extends AbstractService {
   private static final Joiner JOINER = Joiner.on("");
   private static final Logger LOG =
       LoggerFactory.getLogger(TimelineConnector.class);
-  @VisibleForTesting
-  public static int DEFAULT_SOCKET_TIMEOUT = 60_000; // 1 minute
+
+  private int socketTimeOut = 60_000;
 
   private SSLFactory sslFactory;
   Client client;
@@ -113,7 +113,7 @@ public class TimelineConnector extends AbstractService {
       sslFactory = getSSLFactory(conf);
       connConfigurator = getConnConfigurator(sslFactory);
     } else {
-      connConfigurator = DEFAULT_TIMEOUT_CONN_CONFIGURATOR;
+      connConfigurator = defaultTimeoutConnConfigurator;
     }
     String defaultAuth = UserGroupInformation.isSecurityEnabled() ?
             KerberosAuthenticationHandler.TYPE :
@@ -140,23 +140,18 @@ public class TimelineConnector extends AbstractService {
     }
   }
 
-  private static final ConnectionConfigurator DEFAULT_TIMEOUT_CONN_CONFIGURATOR
-    = new ConnectionConfigurator() {
-        @Override
-        public HttpURLConnection configure(HttpURLConnection conn)
-            throws IOException {
-          setTimeouts(conn, DEFAULT_SOCKET_TIMEOUT);
-          return conn;
-        }
-      };
+  private ConnectionConfigurator defaultTimeoutConnConfigurator = conn -> {
+    setTimeouts(conn, socketTimeOut);
+    return conn;
+  };
 
   private ConnectionConfigurator getConnConfigurator(SSLFactory sslFactoryObj) 
{
     try {
-      return initSslConnConfigurator(DEFAULT_SOCKET_TIMEOUT, sslFactoryObj);
+      return initSslConnConfigurator(socketTimeOut, sslFactoryObj);
     } catch (Exception e) {
       LOG.debug("Cannot load customized ssl related configuration. "
           + "Fallback to system-generic settings.", e);
-      return DEFAULT_TIMEOUT_CONN_CONFIGURATOR;
+      return defaultTimeoutConnConfigurator;
     }
   }
 
@@ -457,4 +452,9 @@ public class TimelineConnector extends AbstractService {
           || e instanceof SocketTimeoutException);
     }
   }
+
+  @VisibleForTesting
+  public void setSocketTimeOut(int socketTimeOut) {
+    this.socketTimeOut = socketTimeOut;
+  }
 }
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java
index cac620f66952..80e425e4853d 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java
@@ -78,7 +78,7 @@ public class TestTimelineClient {
     conf.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true);
     conf.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 1.0f);
     client = createTimelineClient(conf);
-    TimelineConnector.DEFAULT_SOCKET_TIMEOUT = 10;
+    client.getConnector().setSocketTimeOut(10);
   }
 
   @AfterEach
@@ -89,7 +89,7 @@ public class TestTimelineClient {
     if (isSSLConfigured()) {
       KeyStoreTestUtil.cleanupSSLConfig(keystoresDir, sslConfDir);
     }
-    TimelineConnector.DEFAULT_SOCKET_TIMEOUT = 60_000;
+    client.getConnector().setSocketTimeOut(60_000);
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to