This is an automated email from the ASF dual-hosted git repository. slfan1989 pushed a commit to branch branch-3.4 in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.4 by this push: new a38d90267799 YARN-11634. [Addendum] Speed-up TestTimelineClient. (#6419) a38d90267799 is described below commit a38d902677998dfce2bce4fc8f842cfda477741c 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