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




ambari-server/src/main/java/org/apache/ambari/server/state/configgroup/ConfigGroup.java
 
<https://reviews.apache.org/r/53881/#comment226549>

    I changed this business object to follow our other objects WRT merging. Now 
you don't need an explicit call to merge after the add.
    
    This was dangerous anyway since it could cause the in-memory state to be 
out of sync.



ambari-server/src/main/java/org/apache/ambari/server/state/configgroup/ConfigGroupImpl.java
 (lines 69 - 73)
<https://reviews.apache.org/r/53881/#comment226548>

    It's unfortunate, but based on how we store/manipulate mapped hosts, it's 
possible that concurrent calls could cause the internal state to get out of 
sync. So, we need to use this on updating the mapped hosts (but not on read)


- Jonathan Hurley


On Nov. 18, 2016, 3:50 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/53881/
> -----------------------------------------------------------
> 
> (Updated Nov. 18, 2016, 3:50 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez, Nate Cole, Robert Levas, and 
> Sid Wagle.
> 
> 
> Bugs: AMBARI-18933
>     https://issues.apache.org/jira/browse/AMBARI-18933
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> {{ConfigGroupImpl}} uses internal locks around state which can lead to 
> deadlocks when this in called in the context of other business objects. In 
> most cases, this state-full data does not need locks placed around it. 
> 
> {{ConfigGroupImpl}} should be changed to:
> - No longer store entity information
> - No longer require locks around primitive state
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
>  b957f0a 
>   
> ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
>  8b157c7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/state/configgroup/ConfigGroup.java
>  1b29c9b 
>   
> ambari-server/src/main/java/org/apache/ambari/server/state/configgroup/ConfigGroupFactory.java
>  9abadf3 
>   
> ambari-server/src/main/java/org/apache/ambari/server/state/configgroup/ConfigGroupImpl.java
>  9a2fc88 
>   
> ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java
>  ed43ee1 
>   
> ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
>  098efa9 
>   
> ambari-server/src/test/java/org/apache/ambari/server/state/ConfigGroupTest.java
>  75853db 
>   
> ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
>  a3a7e11 
>   
> ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
>  69cfc9f 
>   
> ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java
>  8db5190 
>   
> ambari-server/src/test/java/org/apache/ambari/server/topology/AmbariContextTest.java
>  68a8d4c 
> 
> Diff: https://reviews.apache.org/r/53881/diff/
> 
> 
> Testing
> -------
> 
> Tests run: 4772, Failures: 0, Errors: 0, Skipped: 37
> 
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 29:17 min
> [INFO] Finished at: 2016-11-18T14:02:44-05:00
> [INFO] Final Memory: 57M/731M
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>

Reply via email to