[ 
https://issues.apache.org/jira/browse/YARN-3139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15517172#comment-15517172
 ] 

Wangda Tan commented on YARN-3139:
----------------------------------

Thanks [~asuresh] for the review, actually I'm working on the patch :)

bq. AbstractYarnScheduler::getApplicationAttempt() : Do you need the read lock 
...
Agree, fixed

bq. AbstractYarnScheduler::moveAllApps() : Don't think we need a writelock...
The reason I put a writelock because we want the move operation to be 
serialized, for example, it may have some issue when we do two moveAll 
operation at the same time. To me moveApp is equivalent to remove the app and 
add the new one. Same as we protect addAppAttempt, we should use the same 
writelock for safety.

bq. SchedulerApplicationAttempt::pendingRelease :Maybe use a 
ConcurrentSkipListSet ?
Unless we need to order the set, I think use ConcurrentHashSet should be 
enough, SkiplistSet gets worse performance (O(logN) vs. O(1))

bq. Considering that initScheduler is called exactly once, and the Scheduler 
cannot be used before it is initted, do we need a write lock there ?
I would prefer keep it just for safety and consistency, as it doesn't affect 
performance. Same for stop and startSchedulerThreads

bq. FairScheduler 2.. 3..
Addressed

And [~jianhe],
I revisited {{checkSchedContainerChangeRequest}}, it is actually safe, so I 
removed comment of the original method.

> Improve locks in AbstractYarnScheduler/CapacityScheduler/FairScheduler
> ----------------------------------------------------------------------
>
>                 Key: YARN-3139
>                 URL: https://issues.apache.org/jira/browse/YARN-3139
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager, scheduler
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>         Attachments: YARN-3139.0.patch, YARN-3139.1.patch, YARN-3139.2.patch
>
>
> Enhance locks in AbstractYarnScheduler/CapacityScheduler/FairScheduler, as 
> mentioned in YARN-3091, a possible solution is using read/write lock. Other 
> fine-graind locks for specific purposes / bugs should be addressed in 
> separated tickets.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to