[
https://issues.apache.org/jira/browse/YARN-10652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17291595#comment-17291595
]
Siddharth Ahuja edited comment on YARN-10652 at 2/26/21, 11:49 AM:
-------------------------------------------------------------------
Also, yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight
setting is a user-specific setting, not an internal implementation. That is to
say that sure, even if you want to manage usernames with a dot as an underscore
internally, it should not force the users who are specifying their users
containing a dot against this setting -
"yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight setting"
should now instead supply "_" because our s/w needs to store a dot as an
underscore internally. Substituting a dot with an underscore is internal s/w
implementation, however, we should not prohibit users from supplying usernames
with a dot (which are valid usernames in AD) against
yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight. I don't
believe this is done so in Fair Scheduler either and underscores are internal
implementation. Again, please correct me if I am wrong.
was (Author: sahuja):
Also, yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight
setting is a user-specific setting, not an internal implementation. That is to
say that sure, even if you want to manage usernames with a dot as an underscore
internally, it should not force the users who are specifying their users
containing a "." against this setting -
"yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight setting"
should now instead provide "_" because our s/w wants to store "_" instead of a
".". Substituting a "." with an "_" is an internal s/w implementation thing,
however, we cannot prohibit users from supplying usernames with a "." against
yarn.scheduler.capacity.<queue-path>.user-settings.<user-name>.weight.
> Capacity Scheduler fails to handle user weights for a user that has a "."
> (dot) in it
> -------------------------------------------------------------------------------------
>
> Key: YARN-10652
> URL: https://issues.apache.org/jira/browse/YARN-10652
> Project: Hadoop YARN
> Issue Type: Bug
> Components: capacity scheduler
> Affects Versions: 3.3.0
> Reporter: Siddharth Ahuja
> Assignee: Siddharth Ahuja
> Priority: Major
> Attachments: Correct user weight of 0.76 picked up for the user with
> a dot after the patch.png, Incorrect default user weight of 1.0 being picked
> for the user with a dot before the patch.png, YARN-10652.001.patch
>
>
> AD usernames can have a "." (dot) in them i.e. they can be of the format ->
> {{firstname.lastname}}. However, if you specify a username with this format
> against the Capacity Scheduler setting ->
> {{yarn.scheduler.capacity.root.default.user-settings.firstname.lastname.weight}},
> it fails to be applied and is instead assigned the default of 1.0f weight.
> This renders the user weight feature (being used as a means of setting user
> priorities for a queue) unusable for such users.
> This limitation comes from [1]. From [1], only word characters (A word
> character: [a-zA-Z_0-9]) (see [2]) are permissible at the moment which is no
> good for AD names that contain a "." (dot).
> Similar discussion has been had in a few HADOOP jiras e.g. HADOOP-7050 and
> HADOOP-15395 and the outcome was to use non-whitespace characters i.e.
> instead of {{\w+}}, use {{\S+}}.
> We could go down similar path and unblock this feature for the AD usernames
> with a "." (dot) in them.
> [1]
> https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java#L1953
> [2]
> https://docs.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]