Details
-
Sub-task
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.7.1
-
None
-
CentOS 7 with below locale configurations:
$ locale LANG=ja_JP.UTF-8 LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL=
CentOS 7 with below locale configurations: $ locale LANG=ja_JP.UTF-8 LC_CTYPE= "ja_JP.UTF-8" LC_NUMERIC= "ja_JP.UTF-8" LC_TIME= "ja_JP.UTF-8" LC_COLLATE= "ja_JP.UTF-8" LC_MONETARY= "ja_JP.UTF-8" LC_MESSAGES= "ja_JP.UTF-8" LC_PAPER= "ja_JP.UTF-8" LC_NAME= "ja_JP.UTF-8" LC_ADDRESS= "ja_JP.UTF-8" LC_TELEPHONE= "ja_JP.UTF-8" LC_MEASUREMENT= "ja_JP.UTF-8" LC_IDENTIFICATION= "ja_JP.UTF-8" LC_ALL=
Description
The tests listed below fail.
- testErrorLogOnContainerExitWithMultipleFiles
- testErrorLogOnContainerExitWithCustomPattern
- testErrorLogOnContainerExitForCase
- testErrorLogOnContainerExit
- testErrorLogOnContainerExitForExt
The failures happen in same place.
java.lang.AssertionError: Should contain contents of error Log at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch$ContainerExitHandler.handle(TestContainerLaunch.java:633) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch$ContainerExitHandler.handle(TestContainerLaunch.java:602) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.handleContainerExitWithFailure(ContainerLaunch.java:438) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:359) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch.verifyTailErrorLogOnContainerExit(TestContainerLaunch.java:597) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.TestContainerLaunch.testErrorLogOnContainerExitWithMultipleFiles(TestContainerLaunch.java:528)
All these tests call verifyTailErrorLogOnContainerExit and it calls below code.
TestContainerLaunch.java
632 Assert.assertTrue("Should contain contents of error Log", 633 exitEvent.getDiagnosticInfo().contains( 634 INVALID_JAVA_HOME + "/bin/java: No such file or directory")); 635 }
In environment with non-english locale, this fails because the error message returned with non-english text like below.
2016-01-06 23:27:45,427 INFO [main] containermanager.BaseContainerManagerTest (TestContainerLaunch.java:handle(622)) - Diagnostic Info : Container exited with a non-zero exit code 127. Error files: stderr.log, stdout. Last 4096 bytes of stderr.log : /bin/bash: /no/jvm/here/bin/java: そのようなファイルやディレクトリはありません