Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.3.0
-
None
Description
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