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