[
https://issues.apache.org/jira/browse/YARN-10310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17148063#comment-17148063
]
Eric Yang commented on YARN-10310:
----------------------------------
ServiceClient is designed to work with YARN service API. The main distinction
between YARN service app and YARN app are:
1. YARN app can start multiple instances of the same name.
2. YARN service app can not start multiple instances of the same name.
Application name and user name are used to construct DNS hostnames. They must
be uniquely defined per service.
3. Using appType=unit-test with YARN service can result in conflict behavior
between YARN app and YARN service.
4. YARN service app can be completely suspended with footprint in HDFS only.
Classic YARN app does not handle suspension and resume.
Those are the main differences between classic YARN app, and YARN services.
Classic YARN API may not fully support YARN service, and the same vice versa
due to the intersection of commonality of features is small between two
mutually exclusive ideas. Neither classic YARN API nor YARN service API can
operate as a union API calls of either type of applications. Hence, support
appType=unit-test in YARN service client will create ambiguity that the classic
YARN code was not designed to handle. I am inclined to close this as won't fix
to prevent using appType=unit-test with YARN service api.
> YARN Service - User is able to launch a service with same name
> --------------------------------------------------------------
>
> Key: YARN-10310
> URL: https://issues.apache.org/jira/browse/YARN-10310
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Bilwa S T
> Assignee: Bilwa S T
> Priority: Major
> Attachments: YARN-10310.001.patch
>
>
> As ServiceClient uses UserGroupInformation.getCurrentUser().getUserName() to
> get user whereas ClientRMService#submitApplication uses
> UserGroupInformation.getCurrentUser().getShortUserName() to set application
> username.
> In case of user with name hdfs/[email protected]. below condition fails
> ClientRMService#getApplications()
> {code:java}
> if (users != null && !users.isEmpty() &&
> !users.contains(application.getUser())) {
> continue;
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]