You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Sunil G (JIRA)" <ji...@apache.org> on 2014/01/03 05:29:53 UTC

[jira] [Commented] (YARN-1398) Deadlock in capacity scheduler leaf queue and parent queue for getQueueInfo and completedConatiner call

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

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

As per YARN-325, this issue was fixed before 2.1.0. But in 2.1.0, we can see like below
"ParentQueue.completedContainer while holding a lock on the LeafQueue."

This can cause same issue which is mentioned in YARN-325.

Is there any reason why the ParentQueue.completedContainer call is added back with holding the lock on leaf queue.
Because as per the YARN-325 fix, the fix was to remove the same. And this has mentioned in the comments too.

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