[ 
https://issues.apache.org/jira/browse/YARN-6025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Naganarasimha G R updated YARN-6025:
------------------------------------
    Description: YARN-3139 does optimization on the locks by introducing 
ReentrantReadWriteLock to remove synchronized locks, but still seems to have 
some  synchronization locks in AbstractYarnScheduler and its hierarchy because 
of nonavailibility of read write locks in Fifo scheduler.  (was: YARN-3139 does 
optimization on the locks by introducing ReentrantReadWriteLock to remove 
synchronized but still seems to have some  synchronization locks in 
AbstractYarnScheduler and its hierarchy .
# CapacityScheduler
#* nodeUpdate(RMNode) need not be synchronized, as its the only one to be in 
the class
#* setLastNodeUpdateTime in nodeUpdate needs to be updated with readLock ? then 
getLastNodeUpdateTime is done without any lock and more over its volatile.
#* getUserGroupMappingPlacementRule need not be public as its held called 
within and not used in test and further is called from initScheduler and 
reinitialize where both are holding write locks so i presume getting read locks 
are of no use.
# AbstractYarnScheduler
#* recoverContainersOnNode is synchronized as well as holds write lock on the 
complete method so i presume we do not require synchronized here.
#* nodeUpdate method too is synchronized but if i see the updates done inside i 
do not see any place where node update from two different nodes will have any 
issues (except for schedulerHealth which is taken care internally with 
concurrentHashMap), And even if require we could better use write lock. (also 
depends on the decision of next point)
#* readLock is only used in containerLaunchedOnNode which i am not completely 
sure whether its required to have a read lock here, suppose we do not require 
then whether there is any use of read write locks in AbstractYarnScheduler as 
in general there is performance overhead in using readwrite lock over 
synchronized blocks on frequently accessed code path.

)

> Issues in synchronization in AbstractYarnScheduler & its hierarchy
> ------------------------------------------------------------------
>
>                 Key: YARN-6025
>                 URL: https://issues.apache.org/jira/browse/YARN-6025
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: capacity scheduler, scheduler
>            Reporter: Naganarasimha G R
>            Assignee: Naganarasimha G R
>         Attachments: YARN-6025.002.patch, YARN-6025.01.patch
>
>
> YARN-3139 does optimization on the locks by introducing 
> ReentrantReadWriteLock to remove synchronized locks, but still seems to have 
> some  synchronization locks in AbstractYarnScheduler and its hierarchy 
> because of nonavailibility of read write locks in Fifo scheduler.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to