You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Takashi Ohnishi (JIRA)" <ji...@apache.org> on 2016/01/06 15:50:39 UTC

[jira] [Created] (YARN-4550) some tests in TestContainerLanch fails on non-english locale environment

Takashi Ohnishi created YARN-4550:
-------------------------------------

             Summary: some tests in TestContainerLanch fails on non-english locale environment
                 Key: YARN-4550
                 URL: https://issues.apache.org/jira/browse/YARN-4550
             Project: Hadoop YARN
          Issue Type: Test
          Components: nodemanager
    Affects Versions: 2.7.1
         Environment: CentOS 7 with below locale configurations:
{code}
$ 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=
{code}
            Reporter: Takashi Ohnishi
            Priority: Minor


The tests listed below fail.

* testErrorLogOnContainerExitWithMultipleFiles
* testErrorLogOnContainerExitWithCustomPattern
* testErrorLogOnContainerExitForCase
* testErrorLogOnContainerExit
* testErrorLogOnContainerExitForExt

The failures happen in same place.

{code}
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)
{code}

All these tests call verifyTailErrorLogOnContainerExit and it calls below code.

{code:title=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       }
{code}

In environment with non-english locale, this fails because the error message returned with non-english text like below.
{code}
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: そのようなファイルやディレクトリはありません
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)