-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59727/
-----------------------------------------------------------
(Updated June 6, 2017, 7:02 p.m.)
Review request for Ambari and Tim Thorpe.
Bugs: AMBARI-21161
https://issues.apache.org/jira/browse/AMBARI-21161
Repository: ambari
Description
-------
It is important to safe guard against cycle graphs, when Ambari supports
mpacks, custom services and service level role command order. Cycle graphs
indicate circular dependencies that can cause Ambari enter an infinite loop
while building stages, causing Ambari server to take up 100% CPU and large
amount of memory.
Diffs (updated)
-----
ambari-server/src/main/java/org/apache/ambari/server/stageplanner/RoleGraph.java
024a5e1
ambari-server/src/test/java/org/apache/ambari/server/stageplanner/TestStagePlanner.java
271ee89
ambari-server/src/test/resources/stacks/HDP/2.0.6.1/role_command_order.json
6154004
Diff: https://reviews.apache.org/r/59727/diff/2/
Changes: https://reviews.apache.org/r/59727/diff/1-2/
Testing
-------
unit tests. patch a trunk cluster with code change and install HDP cluster,
intentionally add circular reference to make NN start depends on DN start and
DN start depends on NN start. Verify UI shows an error message when try to
start HDFS service, and does not really kick off the HDFS start. (without the
fix, Ambari server will try to start HDFS and gets itself into an infinite loop
and uses up 100% CPU and large amount of RAM)
Thanks,
Di Li