[ 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)