3030import static org .mockito .Mockito .mock ;
3131import static org .mockito .Mockito .spy ;
3232import static org .mockito .Mockito .when ;
33+
34+ import org .apache .hadoop .util .Shell ;
3335import org .slf4j .Logger ;
3436import 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