Skip to content

Commit be835e4

Browse files
committed
YARN-11654. [JDK17] TestLinuxContainerExecutorWithMocks.testStartLocalizer fails
1 parent 4f0f5a5 commit be835e4

File tree

1 file changed

+47
-20
lines changed

1 file changed

+47
-20
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutorWithMocks.java

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
import static org.mockito.Mockito.mock;
3131
import static org.mockito.Mockito.spy;
3232
import static org.mockito.Mockito.when;
33+
34+
import org.apache.hadoop.util.Shell;
3335
import org.slf4j.Logger;
3436
import org.slf4j.LoggerFactory;
3537

@@ -307,7 +309,51 @@ public void testStartLocalizer() throws IOException {
307309
.build());
308310

309311
List<String> result=readMockParams();
310-
assertThat(result).hasSize(26);
312+
if (!Shell.isJavaVersionAtLeast(17)) {
313+
assertThat(result).hasSize(26);
314+
assertThat(result.get(13)).isEqualTo(
315+
"-Dlog4j.configuration=container-log4j.properties");
316+
assertThat(result.get(14)).isEqualTo(
317+
String.format("-Dyarn.app.container.log.dir=%s/application_0/12345",
318+
mockExec.getConf().get(YarnConfiguration.NM_LOG_DIRS)));
319+
assertThat(result.get(15)).isEqualTo(
320+
"-Dyarn.app.container.log.filesize=0");
321+
assertThat(result.get(16)).isEqualTo("-Dhadoop.root.logger=INFO,CLA");
322+
assertThat(result.get(17)).isEqualTo(
323+
"-Dhadoop.root.logfile=container-localizer-syslog");
324+
assertThat(result.get(18)).isEqualTo("org.apache.hadoop.yarn.server." +
325+
"nodemanager.containermanager.localizer.ContainerLocalizer");
326+
assertThat(result.get(19)).isEqualTo("test");
327+
assertThat(result.get(20)).isEqualTo("application_0");
328+
assertThat(result.get(21)).isEqualTo("12345");
329+
assertThat(result.get(22)).isEqualTo("localhost");
330+
assertThat(result.get(23)).isEqualTo("8040");
331+
assertThat(result.get(24)).isEqualTo("nmPrivateCTokensPath");
332+
} else {
333+
assertThat(result).hasSize(28);
334+
assertThat(result.get(13)).isEqualTo(
335+
"--add-exports=java.base/sun.net.dns=ALL-UNNAMED");
336+
assertThat(result.get(14)).isEqualTo(
337+
"--add-exports=java.base/sun.net.util=ALL-UNNAMED");
338+
assertThat(result.get(15)).isEqualTo(
339+
"-Dlog4j.configuration=container-log4j.properties");
340+
assertThat(result.get(16)).isEqualTo(
341+
String.format("-Dyarn.app.container.log.dir=%s/application_0/12345",
342+
mockExec.getConf().get(YarnConfiguration.NM_LOG_DIRS)));
343+
assertThat(result.get(17)).isEqualTo(
344+
"-Dyarn.app.container.log.filesize=0");
345+
assertThat(result.get(18)).isEqualTo("-Dhadoop.root.logger=INFO,CLA");
346+
assertThat(result.get(19)).isEqualTo(
347+
"-Dhadoop.root.logfile=container-localizer-syslog");
348+
assertThat(result.get(20)).isEqualTo("org.apache.hadoop.yarn.server." +
349+
"nodemanager.containermanager.localizer.ContainerLocalizer");
350+
assertThat(result.get(21)).isEqualTo("test");
351+
assertThat(result.get(22)).isEqualTo("application_0");
352+
assertThat(result.get(23)).isEqualTo("12345");
353+
assertThat(result.get(24)).isEqualTo("localhost");
354+
assertThat(result.get(25)).isEqualTo("8040");
355+
assertThat(result.get(26)).isEqualTo("nmPrivateCTokensPath");
356+
}
311357
assertThat(result.get(0)).isEqualTo(YarnConfiguration.
312358
DEFAULT_NM_NONSECURE_MODE_LOCAL_USER);
313359
assertThat(result.get(1)).isEqualTo("test");
@@ -317,25 +363,6 @@ public void testStartLocalizer() throws IOException {
317363
assertThat(result.get(5)).isEqualTo("/bin/nmPrivateCTokensPath");
318364
assertThat(result.get(9)).isEqualTo("-classpath");
319365
assertThat(result.get(12)).isEqualTo("-Xmx256m");
320-
assertThat(result.get(13)).isEqualTo(
321-
"-Dlog4j.configuration=container-log4j.properties" );
322-
assertThat(result.get(14)).isEqualTo(
323-
String.format("-Dyarn.app.container.log.dir=%s/application_0/12345",
324-
mockExec.getConf().get(YarnConfiguration.NM_LOG_DIRS)));
325-
assertThat(result.get(15)).isEqualTo(
326-
"-Dyarn.app.container.log.filesize=0");
327-
assertThat(result.get(16)).isEqualTo("-Dhadoop.root.logger=INFO,CLA");
328-
assertThat(result.get(17)).isEqualTo(
329-
"-Dhadoop.root.logfile=container-localizer-syslog");
330-
assertThat(result.get(18)).isEqualTo("org.apache.hadoop.yarn.server." +
331-
"nodemanager.containermanager.localizer.ContainerLocalizer");
332-
assertThat(result.get(19)).isEqualTo("test");
333-
assertThat(result.get(20)).isEqualTo("application_0");
334-
assertThat(result.get(21)).isEqualTo("12345");
335-
assertThat(result.get(22)).isEqualTo("localhost");
336-
assertThat(result.get(23)).isEqualTo("8040");
337-
assertThat(result.get(24)).isEqualTo("nmPrivateCTokensPath");
338-
339366
} catch (InterruptedException e) {
340367
LOG.error("Error:"+e.getMessage(),e);
341368
Assert.fail();

0 commit comments

Comments
 (0)