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

Akhil S Naik commented on AMBARI-24296:
---------------------------------------

attached PR for Both Branch-2.7 and trunk

> [Yarn Queue Manager] Yarn Queue manager is allowing to Create a Child Queue 
> for queue-mappings enabled Queue and Save it
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-24296
>                 URL: https://issues.apache.org/jira/browse/AMBARI-24296
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-views
>    Affects Versions: 2.7.0
>            Reporter: Akhil S Naik
>            Assignee: Akhil S Naik
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Yarn Queue manager is allowing to Create a Child Queue for queue-mappings 
> enabled Queue and Save the changes
> But the Operating is Failing as Yarn is having a check that  Queue-mappings 
> should only be allowed for Leaf queue 
> Code which validates whether queue-mappings are enabled only for leaf-queue ( 
> YARN CODE)
> {code:java}
> private static QueueMapping validateAndGetQueueMapping(
>       CapacitySchedulerQueueManager queueManager, CSQueue queue,
>       QueueMapping mapping, QueuePath queuePath) throws IOException {
>     if (!(queue instanceof LeafQueue)) {
>       throw new IOException(
>           "mapping contains invalid or non-leaf queue : " + 
> mapping.getQueue());
>     }
> {code}
> The buggy code in [Ambari Yarn Queue Manager which needs rework]: 
> https://github.com/apache/ambari/blob/79cca1c7184f1661236971dac70d85a83fab6c11/contrib/views/capacity-scheduler/src/main/resources/ui/app/controllers/queues.js#L410
> {code:java}
>  hasInvalidMapping = queues.filter(function(queue){
>             return !queue.get("queues"); //get all leaf queues
>           }).map(function(queue){
>             return queue.get("name");
>           }).indexOf(mapping[2]) == -1;
> {code}



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

Reply via email to