[ https://issues.apache.org/jira/browse/YARN-2109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14040745#comment-14040745 ]
Chen He commented on YARN-2109: ------------------------------- Done > TestRM fails some tests when some tests run with CapacityScheduler and some > with FairScheduler > ---------------------------------------------------------------------------------------------- > > Key: YARN-2109 > URL: https://issues.apache.org/jira/browse/YARN-2109 > Project: Hadoop YARN > Issue Type: Bug > Components: scheduler > Reporter: Anubhav Dhoot > Assignee: Anubhav Dhoot > Labels: test > > testNMTokenSentForNormalContainer requires CapacityScheduler and was fixed in > [YARN-1846|https://issues.apache.org/jira/browse/YARN-1846] to explicitly set > it to be CapacityScheduler. But if the default scheduler is set to > FairScheduler then the rest of the tests that execute after this will fail > with invalid cast exceptions when getting queuemetrics. This is based on test > execution order as only the tests that execute after this test will fail. > This is because the queuemetrics will be initialized by this test to > QueueMetrics and shared by the subsequent tests. > We can explicitly clear the metrics at the end of this test to fix this. > For example > java.lang.ClassCastException: > org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueMetrics cannot > be cast to > org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueueMetrics > at > org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FSQueueMetrics.forQueue(FSQueueMetrics.java:103) > at > org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.reinitialize(FairScheduler.java:1275) > at > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager$RMActiveServices.serviceInit(ResourceManager.java:418) > at > org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) > at > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.createAndInitActiveServices(ResourceManager.java:808) > at > org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceInit(ResourceManager.java:230) > at > org.apache.hadoop.service.AbstractService.init(AbstractService.java:163) > at > org.apache.hadoop.yarn.server.resourcemanager.MockRM.<init>(MockRM.java:90) > at > org.apache.hadoop.yarn.server.resourcemanager.MockRM.<init>(MockRM.java:85) > at > org.apache.hadoop.yarn.server.resourcemanager.MockRM.<init>(MockRM.java:81) > at > org.apache.hadoop.yarn.server.resourcemanager.TestRM.testNMToken(TestRM.java:232) -- This message was sent by Atlassian JIRA (v6.2#6252)