Anubhav Dhoot created YARN-2109:
-----------------------------------
Summary: 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
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)