----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/51498/ -----------------------------------------------------------
Review request for Ambari, Nate Cole, Robert Levas, and Robert Nettleton. Bugs: AMBARI-18271 https://issues.apache.org/jira/browse/AMBARI-18271 Repository: ambari Description ------- When a cluster is being created initially, there are many new alert instances being generated concurrently. This can lead to a race condition where certain alert types, such as aggregate alerts, fire several events and end up creating duplicate alert instances. Although aggregate alerts are the most common, the flaw is in the alert listener since it never guarantees uniqueness even though it supports concurrent events. This problem is mainly encountered when the cluster is initially created, and therefore a solution shouldn't impact the rest of the cluster's lifetime. In other words, we shouldn't cause a degradation the other 99.9% of the time in order to fix this problem. Diffs ----- ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertReceivedListener.java 2dcf1d6 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java b30b100 ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntity.java 638646c ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertHistoryEntity.java 8bc4b99 ambari-server/src/test/java/org/apache/ambari/server/orm/entities/AlertCurrentEntityTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/orm/entities/AlertDefinitionEntityTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/orm/entities/AlertHistoryEntityTest.java PRE-CREATION ambari-server/src/test/java/org/apache/ambari/server/state/alerts/AlertReceivedListenerTest.java 7bf11e3 Diff: https://reviews.apache.org/r/51498/diff/ Testing ------- PENDING... A new unit test was written which reproduced the problem, passing once the patch was complete. Thanks, Jonathan Hurley