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

Siddharth Wagle commented on AMBARI-12453:
------------------------------------------

The high level picture seems to be: Requests made from the UI for host metrics 
trying to figure out the actual metrics service and the code that updates 
in-memory maps which hold information of where that service is and what ports 
to use to connect to it etc. These property maps are update by Observers on 
important events like Cluster/Service/Host CRUD by resetting a volatile 
variable.

The contention occurs due the thread that actually enters the monitor 
protecting the volatile var and asks for another lock on the cluster which is 
held by some other thread which also needs a value from the in-memory maps and 
waits on the object monitor that it cannot enter.

Note: Web based deployments get away because not a lot of CRUD ops happen in 
parallel to Reads like the use case of monitoring the Blueprint deploy as the 
cluster is being provisioned.

> Ambari server deadlock causing cluster create to be stuck
> ---------------------------------------------------------
>
>                 Key: AMBARI-12453
>                 URL: https://issues.apache.org/jira/browse/AMBARI-12453
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.1.0
>            Reporter: Siddharth Wagle
>            Assignee: Siddharth Wagle
>            Priority: Critical
>             Fix For: 2.1.1
>
>
> Deadlock appears due to conflicting locking mechanisms used by the Property 
> Provider module.
> Attaching jstack for the deadlock.



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

Reply via email to