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

Vinod Kumar Vavilapalli commented on YARN-1495:
-----------------------------------------------

Hi Sandy, some questions and quick thoughts on this ticket:
 - Any specific use-case? Example where it can be used? To justify this isn't 
feature creep.
 - What happens when scheduling-constraints are violated? The client will just 
get an error? It kind of depends on the type of scheduling constraint.
 - Who initiates the move any regular user or just admins? Given your 
description of ACLs, seems like any one.
 - Only running apps can be moved? There are races w.r.t apps that are 
submitted but not accepted and close-to-completion apps.
 - The ACLs choice seems straightforward and makes sense.

There is some non-trivial stuff that needs ironing out, outside of schedulers.
 - While the move happens,
    -- Apps may be in the process of submitting new requests. What happens to 
them? I guess queue-move and new-requests should be synchronized.
    -- Preemption monitors will need to be notified. As they kind of know a lot 
about schedulers but sit outside the schedulers.
    -- there will be a potential wild-change in the head-room for the 
application.

> Allow moving apps between queues
> --------------------------------
>
>                 Key: YARN-1495
>                 URL: https://issues.apache.org/jira/browse/YARN-1495
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: scheduler
>    Affects Versions: 2.2.0
>            Reporter: Sandy Ryza
>            Assignee: Sandy Ryza
>
> This is an umbrella JIRA for work needed to allow moving YARN applications 
> from one queue to another.  The work will consist of additions in the command 
> line options, additions in the client RM protocol, and changes in the 
> schedulers to support this.
> I have a picture of how this should function in the Fair Scheduler, but I'm 
> not familiar enough with the Capacity Scheduler for the same there.  
> Ultimately, the decision to whether an application can be moved should go 
> down to the scheduler - some schedulers may wish not to support this at all.  
> However, schedulers that do support it should share some common semantics 
> around ACLs and what happens to running containers.
> Here is how I see the general semantics working out:
> * A move request is issued by the client.  After it gets past ACLs, the 
> scheduler checks whether executing the move will violate any constraints. For 
> the Fair Scheduler, these would be queue maxRunningApps and queue 
> maxResources constraints
> * All running containers are transferred from the old queue to the new queue
> * All outstanding requests are transferred from the old queue to the new queue
> Here is I see the ACLs of this working out:
> * To move an app from a queue a user must have modify access on the app or 
> administer access on the queue
> * To move an app to a queue a user must have submit access on the queue or 
> administer access on the queue 



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to