From 7eb1ec8ba0cf98e12d9338204aa0eb4fdcea7842 Mon Sep 17 00:00:00 2001 From: Martijn van Groningen Date: Mon, 24 Nov 2014 21:14:18 +0100 Subject: [PATCH] Test: Also clear the alert actions te be processed between tests. Original commit: elastic/x-pack-elasticsearch@f6da5717aa71d1cf5e4afd210428d7868ae4d1db --- src/main/java/org/elasticsearch/alerts/AlertManager.java | 3 ++- .../elasticsearch/alerts/actions/AlertActionManager.java | 8 ++++++-- .../org/elasticsearch/alerts/AbstractAlertingTests.java | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/elasticsearch/alerts/AlertManager.java b/src/main/java/org/elasticsearch/alerts/AlertManager.java index d5b7a3be546..d62d24b8a86 100644 --- a/src/main/java/org/elasticsearch/alerts/AlertManager.java +++ b/src/main/java/org/elasticsearch/alerts/AlertManager.java @@ -213,11 +213,12 @@ public class AlertManager extends AbstractComponent { } /** - * For testing only to clear the alerts between tests. + * For testing only to clear the alerts and actions between tests. */ public void clear() { scheduler.clearAlerts(); alertsStore.clear(); + actionManager.clear(); } private void internalStop() { diff --git a/src/main/java/org/elasticsearch/alerts/actions/AlertActionManager.java b/src/main/java/org/elasticsearch/alerts/actions/AlertActionManager.java index e03352aa6f8..7a139be1609 100644 --- a/src/main/java/org/elasticsearch/alerts/actions/AlertActionManager.java +++ b/src/main/java/org/elasticsearch/alerts/actions/AlertActionManager.java @@ -135,6 +135,10 @@ public class AlertActionManager extends AbstractComponent { return started.get(); } + public void clear() { + actionsToBeProcessed.clear(); + } + private void doStart() { logger.info("Starting job queue"); if (started.compareAndSet(false, true)) { @@ -323,12 +327,12 @@ public class AlertActionManager extends AbstractComponent { updateHistoryEntry(entry); } catch (Exception e) { if (started()) { - logger.error("Failed to execute alert action", e); + logger.warn("Failed to execute alert action", e); try { entry.setErrorMsg(e.getMessage()); updateHistoryEntry(entry, AlertActionState.ERROR); } catch (IOException ioe) { - logger.error("Failed to update action history entry", ioe); + logger.error("Failed store error message to update action history entry", ioe); } } else { logger.debug("Failed to execute alert action after shutdown", e); diff --git a/src/test/java/org/elasticsearch/alerts/AbstractAlertingTests.java b/src/test/java/org/elasticsearch/alerts/AbstractAlertingTests.java index 98ac5714292..90655147dcb 100644 --- a/src/test/java/org/elasticsearch/alerts/AbstractAlertingTests.java +++ b/src/test/java/org/elasticsearch/alerts/AbstractAlertingTests.java @@ -64,7 +64,7 @@ public abstract class AbstractAlertingTests extends ElasticsearchIntegrationTest @After public void clearAlerts() { - // Clear all in-memory alerts on all nodes, perhaps there isn't an elected master at this point + // Clear all internal state. Use manager directly because perhaps there isn't an elected master at this point for (AlertManager manager : internalTestCluster().getInstances(AlertManager.class)) { manager.clear(); }