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 "Chuan Liu (JIRA)" <ji...@apache.org> on 2013/09/11 00:10:51 UTC
[jira] [Updated] (YARN-1078) TestNodeManagerResync,
TestNodeManagerShutdown, and TestNodeStatusUpdater fail on Windows
[ https://issues.apache.org/jira/browse/YARN-1078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chuan Liu updated YARN-1078:
----------------------------
Attachment: YARN-1078.2.patch
I looked into the failure. It turns out we use InetAddress.getCanonicalHostName() to construct nodeId in "ContainerManagerImpl". In the test, we assume this will always be "localhost" for a local loop back address, i.e. 127.0.0.1. However, this is not the case on Windows. As the method could return "127.0.0.1" on Windows instead of "localhost". In the old patch, I switch from "localhost" to "127.0.0.1", and regressed Linux. Attach a new patch that uses getCanonicalHostName() to obtain the name for nodeId constructed in the tests.
> TestNodeManagerResync, TestNodeManagerShutdown, and TestNodeStatusUpdater fail on Windows
> -----------------------------------------------------------------------------------------
>
> Key: YARN-1078
> URL: https://issues.apache.org/jira/browse/YARN-1078
> Project: Hadoop YARN
> Issue Type: Bug
> Affects Versions: 3.0.0, 2.3.0
> Reporter: Chuan Liu
> Assignee: Chuan Liu
> Priority: Minor
> Attachments: YARN-1078.2.patch, YARN-1078.patch
>
>
> The three unit tests fail on Windows due to host name resolution differences on Windows, i.e. 127.0.0.1 does not resolve to host name "localhost".
> {noformat}
> org.apache.hadoop.security.token.SecretManager$InvalidToken: Given Container container_0_0000_01_000000 identifier is not valid for current Node manager. Expected : 127.0.0.1:12345 Found : localhost:12345
> {noformat}
> {noformat}
> testNMConnectionToRM(org.apache.hadoop.yarn.server.nodemanager.TestNodeStatusUpdater) Time elapsed: 8343 sec <<< FAILURE!
> org.junit.ComparisonFailure: expected:<[localhost]:12345> but was:<[127.0.0.1]:12345>
> at org.junit.Assert.assertEquals(Assert.java:125)
> at org.junit.Assert.assertEquals(Assert.java:147)
> at org.apache.hadoop.yarn.server.nodemanager.TestNodeStatusUpdater$MyResourceTracker6.registerNodeManager(TestNodeStatusUpdater.java:712)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
> at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:101)
> at $Proxy26.registerNodeManager(Unknown Source)
> at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.registerWithRM(NodeStatusUpdaterImpl.java:212)
> at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl.serviceStart(NodeStatusUpdaterImpl.java:149)
> at org.apache.hadoop.yarn.server.nodemanager.TestNodeStatusUpdater$MyNodeStatusUpdater4.serviceStart(TestNodeStatusUpdater.java:369)
> at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
> at org.apache.hadoop.service.CompositeService.serviceStart(CompositeService.java:101)
> at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceStart(NodeManager.java:213)
> at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
> at org.apache.hadoop.yarn.server.nodemanager.TestNodeStatusUpdater.testNMConnectionToRM(TestNodeStatusUpdater.java:985)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira