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

Reply via email to