hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wangda Tan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4416) Deadlock due to synchronised get Methods in AbstractCSQueue
Date Thu, 03 Dec 2015 20:41:11 GMT

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

Wangda Tan commented on YARN-4416:
----------------------------------

Thanks for reporting this issue, [~Naganarasimha].

Looked at the code, all methods used by org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue#toString
don't need to be synchronized:
- queueCapacity, resource-usage has their own read/write lock.
- numContainers is volatile.
- read/write lock could be added to OrderingPolicy. Read operations don't need synchronized.
So getNumApplications doesn't need synchronized.

> 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: 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)

Mime
View raw message