hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chen He (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-2109) TestRM fails some tests when some tests run with CapacityScheduler and some with FairScheduler
Date Tue, 03 Jun 2014 21:32:02 GMT

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

Chen He commented on YARN-2109:

Hi [~adhoot]
I did not see testNMTokenSentForNormalContainer() initializes the QueueMetrics that can be
used in following tests. Could you point it out?
For the fix, I propose we unify the testNMTokenSentForNormalContainer() that can be used for
any scheduler since TestRM is testing ResourceManager and ResourceManager  should support
different kinds of schedulers (from the design point of view). 

> 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: Chen He
>              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

View raw message