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