----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/59727/#review176659 -----------------------------------------------------------
ambari-server/src/main/java/org/apache/ambari/server/stageplanner/RoleGraph.java Lines 342 (patched) <https://reviews.apache.org/r/59727/#comment250075> Btw, this will only find cycles between two adjacent nodes. It will not find cycles involved with 3 nodes, e.g., A -> B B -> C C -> A This needs a 2-pass depth-first traversal or Tarjan's algorithm. ambari-server/src/main/java/org/apache/ambari/server/stageplanner/RoleGraph.java Lines 356 (patched) <https://reviews.apache.org/r/59727/#comment250073> Nitpick here, add spaces before and after "+", or use String.format - Alejandro Fernandez On June 1, 2017, 8:35 p.m., Di Li wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/59727/ > ----------------------------------------------------------- > > (Updated June 1, 2017, 8:35 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 > ----- > > > 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 > > > Diff: https://reviews.apache.org/r/59727/diff/1/ > > > 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 > >
