[
https://issues.apache.org/jira/browse/YARN-4304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075232#comment-15075232
]
Sunil G commented on YARN-4304:
-------------------------------
Hi [~leftnoteasy]
Thank you very much for sharing the comments. I have few doubts in same.
bq.Could you update user am-limit (in User.resourceUsage) as well when
computing user am-limit at activateApplications?
We already doing this in activateApplications as below.
{noformat}
user.getResourceUsage().incAMUsed(partitionName,
application.getAMResource(partitionName));
user.getResourceUsage().setAMLimit(partitionName, userAMLimit);
{noformat}
Now if we need to do this in {{getUserAMResourceLimitPerPartition}}, we need to
pass the username as well. This user name comes from {{application}}
{code}
// Check user am resource limit
User user = getUser(application.getUser());
{code}
Hence,
1. We cannot pre-compute user am-limit like we have done for am-limit before
pendingOrderingPolicy loop in {{activateApplications}}
2. So as we compute this limit every time, we store in
{{user.getResourceUsage()}}. I thought of resusing this. However there can be
cases where 0 user/1 users/Multiple users for one queue. So getting correct
user is not really predictable for all getters (now we do not supply any user
name in getAMUserLimit/Partition, even though we take first user, there can be
cases where 0 users).
Thoughts?
bq. CapacitySchedulerPage, Instead of getAMResourceLimit() , Shouldn't you use
getAMResourceLimit(partition)?
{code}
PartitionResourcesInfo resourceUsages =
lqinfo.getResources().getPartitionResourceUsageInfo(label);
// Get UserInfo from first user to calculate AM Resource Limit per user.
ResourceInfo userAMResourceLimit = null;
ArrayList<UserInfo> usersList = lqinfo.getUsers().getUsersList();
if (usersList.isEmpty()) {
// If no users are present, consider AM Limit for that queue.
userAMResourceLimit = resourceUsages.getAMResourceLimit();
}
....
{code}
Here {{resourceUsages}} is already taken for specific label. Hence i think we
do not need per label am-limit.
> AM max resource configuration per partition to be displayed/updated correctly
> in UI and in various partition related metrics
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: YARN-4304
> URL: https://issues.apache.org/jira/browse/YARN-4304
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: webapp
> Affects Versions: 2.7.1
> Reporter: Sunil G
> Assignee: Sunil G
> Attachments: 0001-YARN-4304.patch, 0002-YARN-4304.patch,
> 0003-YARN-4304.patch, 0004-YARN-4304.patch, 0005-YARN-4304.patch,
> 0005-YARN-4304.patch, 0006-YARN-4304.patch, 0007-YARN-4304.patch,
> REST_and_UI.zip
>
>
> As we are supporting per-partition level max AM resource percentage
> configuration, UI and various metrics also need to display correct
> configurations related to same.
> For eg: Current UI still shows am-resource percentage per queue level. This
> is to be updated correctly when label config is used.
> - Display max-am-percentage per-partition in Scheduler UI (label also) and in
> ClusterMetrics page
> - Update queue/partition related metrics w.r.t per-partition
> am-resource-percentage
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)