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

Sunil G commented on YARN-1398:
-------------------------------

During YARN-569 defect fix for adding a scheduling policy, the below code 
segment is added back in leafqueue lock segment

          // Inform the parent queue
          getParent().completedContainer(clusterResource, application,
              node, rmContainer, null, event, this);

Pls let know whether this call is really required in the synchronized block of 
Leafqueue completedContainer call.

> Deadlock in capacity scheduler leaf queue and parent queue for getQueueInfo 
> and completedConatiner call
> -------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-1398
>                 URL: https://issues.apache.org/jira/browse/YARN-1398
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>    Affects Versions: 2.2.0
>            Reporter: Sunil G
>            Priority: Critical
>
> getQueueInfo in parentQueue will call  child.getQueueInfo().
> This will try acquire the leaf queue lock over parent queue lock.
> Now at same time if a completedContainer call comes and acquired LeafQueue 
> lock and it will wait for ParentQueue's completedConatiner call.
> This lock usage is not in synchronous and can lead to deadlock.
> With JCarder, this is showing as a potential deadlock scenario.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to