Skip to content

Commit ec8d3a6

Browse files
committed
YARN-11634. [Addendum] Speed-up TestTimelineClient. (#6419)
Co-authored-by: slfan1989 <[email protected]>
1 parent 8c28364 commit ec8d3a6

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,4 +459,10 @@ public void putDomain(ApplicationAttemptId appAttemptId,
459459
public void setTimelineWriter(TimelineWriter writer) {
460460
this.timelineWriter = writer;
461461
}
462+
463+
@Private
464+
@VisibleForTesting
465+
public TimelineConnector getConnector() {
466+
return connector;
467+
}
462468
}

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ public class TimelineConnector extends AbstractService {
7878
private static final Joiner JOINER = Joiner.on("");
7979
private static final Logger LOG =
8080
LoggerFactory.getLogger(TimelineConnector.class);
81-
@VisibleForTesting
82-
public static int DEFAULT_SOCKET_TIMEOUT = 60_000; // 1 minute
81+
82+
private int socketTimeOut = 60_000;
8383

8484
private SSLFactory sslFactory;
8585
Client client;
@@ -113,7 +113,7 @@ protected void serviceInit(Configuration conf) throws Exception {
113113
sslFactory = getSSLFactory(conf);
114114
connConfigurator = getConnConfigurator(sslFactory);
115115
} else {
116-
connConfigurator = DEFAULT_TIMEOUT_CONN_CONFIGURATOR;
116+
connConfigurator = defaultTimeoutConnConfigurator;
117117
}
118118
String defaultAuth = UserGroupInformation.isSecurityEnabled() ?
119119
KerberosAuthenticationHandler.TYPE :
@@ -140,23 +140,18 @@ protected void serviceInit(Configuration conf) throws Exception {
140140
}
141141
}
142142

143-
private static final ConnectionConfigurator DEFAULT_TIMEOUT_CONN_CONFIGURATOR
144-
= new ConnectionConfigurator() {
145-
@Override
146-
public HttpURLConnection configure(HttpURLConnection conn)
147-
throws IOException {
148-
setTimeouts(conn, DEFAULT_SOCKET_TIMEOUT);
149-
return conn;
150-
}
151-
};
143+
private ConnectionConfigurator defaultTimeoutConnConfigurator = conn -> {
144+
setTimeouts(conn, socketTimeOut);
145+
return conn;
146+
};
152147

153148
private ConnectionConfigurator getConnConfigurator(SSLFactory sslFactoryObj) {
154149
try {
155-
return initSslConnConfigurator(DEFAULT_SOCKET_TIMEOUT, sslFactoryObj);
150+
return initSslConnConfigurator(socketTimeOut, sslFactoryObj);
156151
} catch (Exception e) {
157152
LOG.debug("Cannot load customized ssl related configuration. "
158153
+ "Fallback to system-generic settings.", e);
159-
return DEFAULT_TIMEOUT_CONN_CONFIGURATOR;
154+
return defaultTimeoutConnConfigurator;
160155
}
161156
}
162157

@@ -457,4 +452,9 @@ public boolean shouldRetryOn(Exception e) {
457452
|| e instanceof SocketTimeoutException);
458453
}
459454
}
455+
456+
@VisibleForTesting
457+
public void setSocketTimeOut(int socketTimeOut) {
458+
this.socketTimeOut = socketTimeOut;
459+
}
460460
}

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestTimelineClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void setup() {
7878
conf.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true);
7979
conf.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 1.0f);
8080
client = createTimelineClient(conf);
81-
TimelineConnector.DEFAULT_SOCKET_TIMEOUT = 10;
81+
client.getConnector().setSocketTimeOut(10);
8282
}
8383

8484
@AfterEach
@@ -89,7 +89,7 @@ public void tearDown() throws Exception {
8989
if (isSSLConfigured()) {
9090
KeyStoreTestUtil.cleanupSSLConfig(keystoresDir, sslConfDir);
9191
}
92-
TimelineConnector.DEFAULT_SOCKET_TIMEOUT = 60_000;
92+
client.getConnector().setSocketTimeOut(60_000);
9393
}
9494

9595
@Test

0 commit comments

Comments
 (0)