hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinod Kumar Vavilapalli (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1495) Allow moving apps between queues
Date Fri, 13 Dec 2013 02:39:07 GMT

    [ 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

View raw message