ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sid Wagle" <swa...@hortonworks.com>
Subject Re: Review Request 36587: Ambari server deadlock causing cluster create to be stuck
Date Sat, 18 Jul 2015 17:25:49 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36587/
-----------------------------------------------------------

(Updated July 18, 2015, 5:25 p.m.)


Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Mahadev Konar, Myroslav Papirkovskyy,
and Sumit Mohanty.


Changes
-------

Changed Map.put to ConcurrentHashMap.putIfAbsent


Bugs: AMBARI-12453
    https://issues.apache.org/jira/browse/AMBARI-12453


Repository: ambari


Description
-------

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.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java
380a0fe 

Diff: https://reviews.apache.org/r/36587/diff/


Testing
-------

All unit test passed.


Thanks,

Sid Wagle


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message