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 "Ashwin Shankar (JIRA)" <ji...@apache.org> on 2016/04/20 22:31:25 UTC

[jira] [Updated] (YARN-4975) Fair Scheduler: exception thrown when a parent queue marked 'parent' has configured child queues

     [ https://issues.apache.org/jira/browse/YARN-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ashwin Shankar updated YARN-4975:
---------------------------------
    Description: 
We upgraded our clusters to 2.7.2 from 2.4.1 and saw the following exception in RM logs :
{code}
Caused by: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationConfigurationException: Both <reservation> and type="parent" found for queue root.adhoc which is unsupported
        at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.loadQueue(AllocationFileLoaderService.java:519)
        at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadAllocations(AllocationFileLoaderService.java:352)
        at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.initScheduler(FairScheduler.java:1440)
{code}

>From the exception, it looks like we've configured 'reservation', but we've not. The issue is that AllocationFileLoaderService#loadQueue assumes that a parent queue cannot be marked as 'type=parent' if it has configured child queues. That can be a problem in cases where we mark a queue as 'parent' which has no configured child queues to start with, but we can add child queues later on.
Also the exception is kind of misleading since we haven't configured 'reservation'. 

How to reproduce:
Run fair scheduler with following queue config:
{code}
<queue name="p" type="parent">
        <weight>10</weight>
        <maxRunningApps>300</maxRunningApps>
        <queue name="c">
            <weight>3</weight>
         </queue>
</queue>
{code}


  was:
We upgraded our clusters to 2.7.2 from 2.4.1 and saw the following exception in RM logs :
{code}
Caused by: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationConfigurationException: Both <reservation> and type="parent" found for queue root.adhoc which is unsupported
        at
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.loadQueue(AllocationFileLoaderService.java:519)
        at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadAllocations(AllocationFileLoaderService.java:352)
        at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.initScheduler(FairScheduler.java:1440)
{code}

>From the exception, it looks like we've configured 'reservation', but we've not. The issue is that AllocationFileLoaderService#loadQueue assumes that a parent queue cannot be marked as 'type=parent' if it has configured child queues. That can be a problem in cases where we mark a queue as 'parent' which has no configured child queues to start with, but we can add child queues later on.
Also the exception is kind of misleading since we haven't configured 'reservation'. 

How to reproduce:
Run fair scheduler with following queue config:
{code}
<queue name="p" type="parent">
        <weight>10</weight>
        <maxRunningApps>300</maxRunningApps>
        <queue name="c">
            <weight>3</weight>
         </queue>
</queue>
{code}



> Fair Scheduler: exception thrown when a parent queue marked 'parent' has configured child queues
> ------------------------------------------------------------------------------------------------
>
>                 Key: YARN-4975
>                 URL: https://issues.apache.org/jira/browse/YARN-4975
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: fairscheduler
>    Affects Versions: 2.7.2
>            Reporter: Ashwin Shankar
>
> We upgraded our clusters to 2.7.2 from 2.4.1 and saw the following exception in RM logs :
> {code}
> Caused by: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationConfigurationException: Both <reservation> and type="parent" found for queue root.adhoc which is unsupported
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.loadQueue(AllocationFileLoaderService.java:519)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadAllocations(AllocationFileLoaderService.java:352)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler.initScheduler(FairScheduler.java:1440)
> {code}
> From the exception, it looks like we've configured 'reservation', but we've not. The issue is that AllocationFileLoaderService#loadQueue assumes that a parent queue cannot be marked as 'type=parent' if it has configured child queues. That can be a problem in cases where we mark a queue as 'parent' which has no configured child queues to start with, but we can add child queues later on.
> Also the exception is kind of misleading since we haven't configured 'reservation'. 
> How to reproduce:
> Run fair scheduler with following queue config:
> {code}
> <queue name="p" type="parent">
>         <weight>10</weight>
>         <maxRunningApps>300</maxRunningApps>
>         <queue name="c">
>             <weight>3</weight>
>          </queue>
> </queue>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)