@Subscribe
  @AllowConcurrentEvents
  public void onAmbariEvent(AlertDefinitionDeleteEvent event) {
    LOG.debug("Received event {}", event);

    AlertDefinition definition = event.getDefinition();

    LOG.debug("Removing alert definition {}", definition);

    if (null == definition) {
      return;
    }

    m_aggregateMapping.removeAssociatedAggregate(event.getClusterId(),
        definition.getName());

    // invalidate and publish
    AlertDefinitionHash hashHelper = m_alertDefinitionHash.get();
    Set<String> invalidatedHosts = hashHelper.invalidateHosts(definition);
    AlertHashInvalidationEvent hashInvalidationEvent = new AlertHashInvalidationEvent(
        definition.getClusterId(), invalidatedHosts);

    m_eventPublisher.publish(hashInvalidationEvent);
  }
Handles {@link AlertDefinitionDeleteEvent} by performing the following
tasks:
<ul>
<li>Removal from with {@link AggregateDefinitionMapping}</li>
<li>{@link AlertDefinitionHash} invalidation</li>
</ul>

@param event
         the event being handled.
ambari-server/src/main/java/org/apache/ambari/server/events/listeners/alerts/AlertLifecycleListener.java