ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hurley (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMBARI-9368) Deadlock Between Dependent Cluster/Service/Component/Host Implementations
Date Wed, 28 Jan 2015 17:42:36 GMT

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

Jonathan Hurley commented on AMBARI-9368:
-----------------------------------------

[~gss2002] - The locking changes will be implemented for Ambari 2.0.0. There is a much smaller
patch that was created specifically for the 1.7.0 branch that revolved around the particular
deadlock I mentioned in the description. However that patch has not been applied to the 1.7.0
branch yet. It looks like your deadlock might be related to it, but that deadlock was really
only on cluster creation when multiple browsers were being used.

> Deadlock Between Dependent Cluster/Service/Component/Host Implementations
> -------------------------------------------------------------------------
>
>                 Key: AMBARI-9368
>                 URL: https://issues.apache.org/jira/browse/AMBARI-9368
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.6.1
>            Reporter: Jonathan Hurley
>            Assignee: Jonathan Hurley
>            Priority: Critical
>             Fix For: 2.0.0
>
>         Attachments: jstack.29096, monitor_lock-1-pid10099.txt, monitor_lock-2-pid10099.txt,
monitor_lock-3-pid10099.txt
>
>
> Looks like a textbook deadlock. Why jstack doesn't report it, I don't know.
> Call Hierarchy
> {code}
> qtp572501352-104
>   ServiceComponentImpl.convertToResponse readWriteLock.readLock().lock() ACQUIRED
>     ServiceComponentHostImpl.getState() readLock.lock() BLOCKED
>   
> qtp572501352-34
>   ServiceComponentHostImpl.persist() writeLock.lock() ACQUIRED
>     ServiceComponentImpl.refresh()  readWriteLock.writeLock() BLOCKED
> {code} 
>    
> Deadlock Order
> {code}
> qtp572501352-104
>   ServiceComponentImpl.convertToResponse readWriteLock.readLock().lock() ACQUIRED
> qtp572501352-34
>   ServiceComponentHostImpl.persist() writeLock.lock() ACQUIRED
>   ServiceComponentImpl.refresh()  readWriteLock.writeLock() BLOCKED
> qtp572501352-104
>   ServiceComponentHostImpl.getState() readLock.lock() BLOCKED
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message