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