-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36587/
-----------------------------------------------------------
Review request for Ambari, Alejandro Fernandez, Jonathan Hurley, Mahadev Konar,
Myroslav Papirkovskyy, and Sumit Mohanty.
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
-----
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