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 "Botong Huang (JIRA)" <ji...@apache.org> on 2018/01/31 22:35:03 UTC

[jira] [Comment Edited] (YARN-7849) TestMiniYarnClusterNodeUtilization#testUpdateNodeUtilization fails due to heartbeat sync error

    [ https://issues.apache.org/jira/browse/YARN-7849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347707#comment-16347707 ] 

Botong Huang edited comment on YARN-7849 at 1/31/18 10:34 PM:
--------------------------------------------------------------

I see your concern, let me explain the nuance here. In the _setup()_, after the MiniYarnCluster starts running, a new NodeStatus object is replaced into CustomNodeManager. After that all normal and injected heartbeats use the new NodeStatus object, which picks up the correct responseId everytime in _getSimulatedNodeStatus()_. It is possible for a normal heartbeat to happen concurrently as the injected heartbeat, but they will be sharing the same NodeStatus object and thus the same responseId. In RM side, one will be processed and the other will be treated as duplicate heartbeat, both will be returned with the same response without exception. Note that only the normal heartbeat records and updates the lastResponseId in the response. 


was (Author: botong):
I see your concern, let me explain the nuance here. In the _setup()_, after the MiniYarnCluster starts running, a new NodeStatus object is replaced into CustomNodeManager. After that all normal and injected heartbeats use the new NodeStatus object, which picks up the correct responseId everytime in _getSimulatedNodeStatus()_. Note that only the normal heartbeat records and updates the lastResponseId in the response. It is possible for a normal heartbeat to happen concurrently as the injected heartbeat, but they will be sharing the same NodeStatus object and thus the same responseId. In RM side, one will be processed and the other will be treated as duplicate heartbeat, both will be returned with the same response without exception.

> TestMiniYarnClusterNodeUtilization#testUpdateNodeUtilization fails due to heartbeat sync error
> ----------------------------------------------------------------------------------------------
>
>                 Key: YARN-7849
>                 URL: https://issues.apache.org/jira/browse/YARN-7849
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 3.1.0, 2.9.1, 3.0.1, 2.8.4
>            Reporter: Jason Lowe
>            Assignee: Botong Huang
>            Priority: Major
>         Attachments: YARN-7849-branch-2.8.v1.patch, YARN-7849.v1.patch
>
>
> testUpdateNodeUtilization is failing.  From a branch-2.8 run:
> {noformat}
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 13.013 sec <<< FAILURE! - in org.apache.hadoop.yarn.server.TestMiniYarnClusterNodeUtilization
> testUpdateNodeUtilization(org.apache.hadoop.yarn.server.TestMiniYarnClusterNodeUtilization)  Time elapsed: 12.961 sec  <<< FAILURE!
> java.lang.AssertionError: Containers Utillization not propagated to RMNode expected:<<pmem:1024, vmem:2048, vCores:11.0>> but was:<null>
> 	at org.junit.Assert.fail(Assert.java:88)
> 	at org.junit.Assert.failNotEquals(Assert.java:743)
> 	at org.junit.Assert.assertEquals(Assert.java:118)
> 	at org.apache.hadoop.yarn.server.TestMiniYarnClusterNodeUtilization.verifySimulatedUtilization(TestMiniYarnClusterNodeUtilization.java:227)
> 	at org.apache.hadoop.yarn.server.TestMiniYarnClusterNodeUtilization.testUpdateNodeUtilization(TestMiniYarnClusterNodeUtilization.java:116)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org