hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bibin A Chundatt (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3940) Application moveToQueue should check NodeLabel permission
Date Tue, 11 Aug 2015 14:40:46 GMT

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

Bibin A Chundatt commented on YARN-3940:

[~leftnoteasy] Thanks for comment

I have small doubt please clarify 


Queue A is having access to x,y
Queue A Default label=y
Queue B is having access to y
Queue B Default label=y

# Case 1: If application is submitted as below 
*-Dmapreduce.job.node-label-expression=y Queue=A*
and try to move from Queue A to Queue B should work ??
Which is the dest.accessible-node-label is-super-set-of origin.accessible-node-label. 
But if we check as per above suggestion will not allow to move rt?
Check should be context label of app is subset of dest-access-label queue then should allow
to move.(0002-YARN-3940.patch)
# Case 2: if application is submitted to queue ,default node label expression for queue is
configured and label explicitly not mentioned then {{rmApp.getApplicationSubmissionContext().getNodeLabelExpression()==null}}
so in this case the *source default queue nodelabel* should be subset of *dest.accessible-node-label*
of queue

if these two condition are not satisfying then check {{dest.accessible-node-label is-super-set-of
origin.accessible-node-label}} .

I support combination of above all since {{check resource usage by partition}} is not required.

Please correct me if i am wrong.

> Application moveToQueue should check NodeLabel permission 
> ----------------------------------------------------------
>                 Key: YARN-3940
>                 URL: https://issues.apache.org/jira/browse/YARN-3940
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Bibin A Chundatt
>            Assignee: Bibin A Chundatt
>         Attachments: 0001-YARN-3940.patch, 0002-YARN-3940.patch
> Configure capacity scheduler 
> Configure node label an submit application {{queue=A Label=X}}
> Move application to queue {{B}} and x is not having access
> {code}
> 2015-07-20 19:46:19,626 INFO org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler:
Application attempt appattempt_1437385548409_0005_000001 released container container_e08_1437385548409_0005_01_000002
on node: host: host-10-19-92-117:64318 #containers=1 available=<memory:2560, vCores:15>
used=<memory:512, vCores:1> with event: KILL
> 2015-07-20 19:46:20,970 WARN org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService:
Invalid resource ask by application appattempt_1437385548409_0005_000001
> org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request,
queue=b1 doesn't have permission to access all labels in resource request. labelExpression
of resource request=x. Queue labels=y
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.validateResourceRequest(SchedulerUtils.java:304)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.normalizeAndValidateRequest(SchedulerUtils.java:234)
>         at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.normalizeAndvalidateRequest(SchedulerUtils.java:250)
>         at org.apache.hadoop.yarn.server.resourcemanager.RMServerUtils.normalizeAndValidateRequests(RMServerUtils.java:106)
>         at org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService.allocate(ApplicationMasterService.java:515)
>         at org.apache.hadoop.yarn.api.impl.pb.service.ApplicationMasterProtocolPBServiceImpl.allocate(ApplicationMasterProtocolPBServiceImpl.java:60)
>         at org.apache.hadoop.yarn.proto.ApplicationMasterProtocol$ApplicationMasterProtocolService$2.callBlockingMethod(ApplicationMasterProtocol.java:99)
>         at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:636)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:976)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2174)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2170)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1666)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2168)
> {code}
> Same exception will be thrown till *heartbeat timeout*
> Then application state will be updated to *FAILED*

This message was sent by Atlassian JIRA

View raw message