Junping Du commented on YARN-3445:

Thanks for review and comments, [~mingma]!
bq. That is around 10M entries. So it should be ok for RM.
ApplicationId only contains int (4 bytes) and long (8 bytes) field. Even 
consider java object header, padding and PB object overhead, should be far less 
than 100 bytes. Agree that it should be fine even in large scale as mentioned 

bq. Do you need synchronizedList in the following list? It looks like the 
access of runningApplications are protected by RMNodeImpl's readLock and 
Nice catch! Will replace synchronizedList will ArrayList and add some 
writeLocks (missing in previous patch).

> Cache runningApps in RMNode for getting running apps on given NodeId
> --------------------------------------------------------------------
>                 Key: YARN-3445
>                 URL: https://issues.apache.org/jira/browse/YARN-3445
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager, resourcemanager
>    Affects Versions: 2.7.0
>            Reporter: Junping Du
>            Assignee: Junping Du
>         Attachments: YARN-3445-v2.patch, YARN-3445-v3.1.patch, 
> YARN-3445-v3.patch, YARN-3445.patch
> Per discussion in YARN-3334, we need filter out unnecessary collectors info 
> from RM in heartbeat response. Our propose is to add cache for runningApps in 
> RMNode, so RM only send collectors for local running apps back. This is also 
> needed in YARN-914 (graceful decommission) that if no running apps in NM 
> which is in decommissioning stage, it will get decommissioned immediately. 

This message was sent by Atlassian JIRA

Reply via email to