[ https://issues.apache.org/jira/browse/YARN-4416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15049493#comment-15049493 ]
Wangda Tan commented on YARN-4416: ---------------------------------- Thanks for sharing your thoughts, [~Naganarasimha]/[~sunilg]. Looked at code, I think we need to be very careful with the locking changes of OrderingPolicy. Since it will likely cause CME in the future. I would prefer to split the JIRA into two parts: - Remove redundant locks, such as getAbsoluteCapacity. - Improve locks of OrderingPolicy. Even if it closely related to LeafQueue, but I think we should try best to decouple it from LeafQueue to better API design. Potentially we need to rethink API of OrderingPolicy. I suggest to convert both JIRAs to sub jiras of YARN-3091. > Deadlock due to synchronised get Methods in AbstractCSQueue > ----------------------------------------------------------- > > Key: YARN-4416 > URL: https://issues.apache.org/jira/browse/YARN-4416 > Project: Hadoop YARN > Issue Type: Bug > Components: capacity scheduler, resourcemanager > Affects Versions: 2.7.1 > Reporter: Naganarasimha G R > Assignee: Naganarasimha G R > Priority: Minor > Attachments: YARN-4416.v1.001.patch, YARN-4416.v1.002.patch, > deadlock.log > > > While debugging in eclipse came across a scenario where in i had to get to > know the name of the queue but every time i tried to see the queue it was > getting hung. On seeing the stack realized there was a deadlock but on > analysis found out that it was only due to *queue.toString()* during > debugging as {{AbstractCSQueue.getAbsoluteUsedCapacity}} was synchronized. > Still i feel {{AbstractCSQueue}}'s getter methods need not be synchronized > and better be handled through read and write locks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)