@Override
  protected void runOneIteration() throws Exception {
    Map<String, Cluster> clusterMap = m_clustersProvider.get().getClusters();
    for (Cluster cluster : clusterMap.values()) {
      // get all of the cluster alerts with SERVER source type
      List<AlertDefinitionEntity> entities = m_dao.findBySourceType(cluster.getClusterId(), SourceType.SERVER);

      // for each alert, check to see if it's scheduled correctly
      for (AlertDefinitionEntity entity : entities) {
        String definitionName = entity.getDefinitionName();
        ScheduledAlert scheduledAlert = m_futureMap.get(definitionName);

        // disabled or new alerts may not have anything mapped yet
        ScheduledFuture<?> scheduledFuture = null;
        if (null != scheduledAlert) {
          scheduledFuture = scheduledAlert.getScheduledFuture();
        }

        // if the definition is not enabled, ensure it's not scheduled and
        // then continue to the next one
        if (!entity.getEnabled()) {
          if (null != scheduledFuture) {
            unschedule(definitionName, scheduledFuture);
          }

          continue;
        }

        // if the definition hasn't been scheduled, then schedule it
        if (null == scheduledAlert || null == scheduledFuture) {
          scheduleRunnable(entity);
          continue;
        }

        // compare the delay of the future to the definition; if they don't
        // match then reschedule this definition
        int scheduledInterval = scheduledAlert.getInterval();
        if (scheduledInterval != entity.getScheduleInterval()) {
          // unschedule
          unschedule(definitionName, scheduledFuture);

          // reschedule
          scheduleRunnable(entity);
        }
      }
    }
  }
{@inheritDoc}
<p/>
Compares all known {@link RootComponent#AMBARI_SERVER} alerts with those that
are scheduled. If any are not scheduled or have their intervals changed,
then reschedule those.
ambari-server/src/main/java/org/apache/ambari/server/state/services/AmbariServerAlertService.java