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


Ship it!




Ship It!

- Robert Levas


On July 7, 2017, 1 p.m., Sebastian Toader wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/60711/
> -----------------------------------------------------------
> 
> (Updated July 7, 2017, 1 p.m.)
> 
> 
> Review request for Ambari, Attila Magyar, Laszlo Puskas, Robert Levas, and 
> Sandor Magyari.
> 
> 
> Bugs: AMBARI-21427
>     https://issues.apache.org/jira/browse/AMBARI-21427
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> PROBLEM:
> Assigning hosts concurrently to the same config group may fail due to a race 
> condition causing the config group to be created twice:
> 
> ```
> 05 Jul 2017 18:50:44,742  INFO [pool-5-thread-2] 
> RegisterWithConfigGroupTask:45 - HostRequest: Executing CONFIGURE task for 
> host: w1.internal
> 
> 05 Jul 2017 18:50:44,884 ERROR [pool-5-thread-2] AmbariContext:655 - Failed 
> to create new configuration group: 
> org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException: 
> Config group already exists with the same name and tag, clusterName = 
> mycluster, groupName = myblueprint:group1, tag = HDFS
> 05 Jul 2017 18:50:44,885 ERROR [pool-5-thread-2] AmbariContext:342 - Unable 
> to register config group for host: 
> java.lang.RuntimeException: Failed to create new configuration group: 
> org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException: 
> Config group already exists with the same name and tag, clusterName = 
> mycluster, groupName = myblueprint:group1, tag = HDFS
>         at 
> org.apache.ambari.server.topology.AmbariContext.createConfigGroupsAndRegisterHost(AmbariContext.java:656)
>         at 
> org.apache.ambari.server.topology.AmbariContext.registerHostWithConfigGroup(AmbariContext.java:339)
>         at 
> org.apache.ambari.server.topology.tasks.RegisterWithConfigGroupTask.runTask(RegisterWithConfigGroupTask.java:46)
>         at 
> org.apache.ambari.server.topology.tasks.TopologyHostTask.run(TopologyHostTask.java:51)
>         at 
> org.apache.ambari.server.topology.HostOfferResponse$1.run(HostOfferResponse.java:83)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException: 
> Config group already exists with the same name and tag, clusterName = 
> mycluster, groupName = myblueprint:group1, tag = HDFS
>         at 
> org.apache.ambari.server.controller.internal.AbstractResourceProvider.createResources(AbstractResourceProvider.java:282)
>         at 
> org.apache.ambari.server.controller.internal.ConfigGroupResourceProvider.createResources(ConfigGroupResourceProvider.java:276)
>         at 
> org.apache.ambari.server.topology.AmbariContext.createConfigGroupsAndRegisterHost(AmbariContext.java:653)
>         ... 7 more
> ```
> 
> SOLUTION:
> Synchronize the verification of the config group existence and creation of a 
> config group with the same name.
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/main/java/org/apache/ambari/server/topology/AmbariContext.java
>  0467b9b 
> 
> 
> Diff: https://reviews.apache.org/r/60711/diff/1/
> 
> 
> Testing
> -------
> 
> Manual testing:
> Created a cluster using Blueprint with configurations specified in the host 
> groups to trigger config group creation.
> ambari.properties included ```topology.task.creation.parallel=true``` to 
> trigger parallel host assignment to config groups.
> 
> 
> Unit tests:
> Failed tests: 
>   
> RestMetricsPropertyProviderTest.testRestMetricsPropertyProviderAsAdministrator:222->testPopulateResourcesMany:457
>  expected:<400> but was:<121>
> 
> Tests run: 4797, Failures: 1, Errors: 0, Skipped: 35
> 
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Ambari Main ........................................ SUCCESS [ 53.583 
> s]
> [INFO] Apache Ambari Project POM .......................... SUCCESS [  0.012 
> s]
> [INFO] Ambari Views ....................................... SUCCESS [  5.241 
> s]
> [INFO] ambari-utility ..................................... SUCCESS [  7.855 
> s]
> [INFO] ambari-metrics ..................................... SUCCESS [  1.334 
> s]
> [INFO] Ambari Metrics Common .............................. SUCCESS [ 10.795 
> s]
> [INFO] Ambari Service Advisor ............................. SUCCESS [  0.886 
> s]
> [INFO] Ambari Server ...................................... FAILURE [  01:05 
> h]
> [INFO] 
> ------------------------------------------------------------------------
> 
> 
> One metrics test failed and is not related to this change.
> 
> 
> Thanks,
> 
> Sebastian Toader
> 
>

Reply via email to