From 7af04741011a7a644f1837c72ba352bda671bcdd Mon Sep 17 00:00:00 2001 From: Martijn van Groningen Date: Thu, 16 Jan 2020 10:29:45 +0100 Subject: [PATCH] Add more logging when failing watch history entry fails. (#50931) Relates to #30777 --- .../SmokeTestWatcherWithSecurityIT.java | 65 +++++++++++++++---- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java b/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java index ecd97cc5d85..9cfdc5cece2 100644 --- a/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java +++ b/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java @@ -92,7 +92,7 @@ public class SmokeTestWatcherWithSecurityIT extends ESRestTestCase { @After public void stopWatcher() throws Exception { - + assertBusy(() -> { try { Response statsResponse = adminClient().performRequest(new Request("GET", "/_watcher/stats")); @@ -308,22 +308,23 @@ public class SmokeTestWatcherWithSecurityIT extends ESRestTestCase { private ObjectPath getWatchHistoryEntry(String watchId, String state) throws Exception { final AtomicReference objectPathReference = new AtomicReference<>(); - assertBusy(() -> { - client().performRequest(new Request("POST", "/.watcher-history-*/_refresh")); + try { + assertBusy(() -> { + client().performRequest(new Request("POST", "/.watcher-history-*/_refresh")); - try (XContentBuilder builder = jsonBuilder()) { - builder.startObject(); - builder.startObject("query").startObject("bool").startArray("must"); - builder.startObject().startObject("term").startObject("watch_id").field("value", watchId).endObject().endObject() + try (XContentBuilder builder = jsonBuilder()) { + builder.startObject(); + builder.startObject("query").startObject("bool").startArray("must"); + builder.startObject().startObject("term").startObject("watch_id").field("value", watchId).endObject().endObject() .endObject(); - if (Strings.isNullOrEmpty(state) == false) { - builder.startObject().startObject("term").startObject("state").field("value", state).endObject().endObject() + if (Strings.isNullOrEmpty(state) == false) { + builder.startObject().startObject("term").startObject("state").field("value", state).endObject().endObject() .endObject(); - } - builder.endArray().endObject().endObject(); - builder.startArray("sort").startObject().startObject("trigger_event.triggered_time").field("order", "desc").endObject() + } + builder.endArray().endObject().endObject(); + builder.startArray("sort").startObject().startObject("trigger_event.triggered_time").field("order", "desc").endObject() .endObject().endArray(); - builder.endObject(); + builder.endObject(); Request searchRequest = new Request("POST", "/.watcher-history-*/_search"); searchRequest.addParameter(TOTAL_HITS_AS_INT_PARAM, "true"); @@ -336,7 +337,43 @@ public class SmokeTestWatcherWithSecurityIT extends ESRestTestCase { assertThat(watchid, is(watchId)); objectPathReference.set(objectPath); } - }); + }); + } catch (AssertionError ae) { + { + Request request = new Request("GET", "/_watcher/stats"); + request.addParameter("metric", "_all"); + request.addParameter("pretty", "true"); + try { + Response response = client().performRequest(request); + logger.info("watcher_stats: {}", EntityUtils.toString(response.getEntity())); + } catch (IOException e) { + logger.error("error while fetching watcher_stats", e); + } + } + { + Request request = new Request("GET", "/_cluster/state"); + request.addParameter("pretty", "true"); + try { + Response response = client().performRequest(request); + logger.info("cluster_state: {}", EntityUtils.toString(response.getEntity())); + } catch (IOException e) { + logger.error("error while fetching cluster_state", e); + } + } + { + Request request = new Request("GET", "/.watcher-history-*/_search"); + request.addParameter("size", "100"); + request.addParameter("sort", "trigger_event.triggered_time:desc"); + request.addParameter("pretty", "true"); + try { + Response response = client().performRequest(request); + logger.info("watcher_history_snippets: {}", EntityUtils.toString(response.getEntity())); + } catch (IOException e) { + logger.error("error while fetching watcher_history_snippets", e); + } + } + throw ae; + } return objectPathReference.get(); } }