mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-22 21:05:23 +00:00
[7.x] Add aditional logging for ILM history store tests (#5062… (#50678)
* Add aditional logging for ILM history store tests (#50624) These tests use the same index name, making it hard to read logs when diagnosing the failures. Additionally more information about the current state of the index could be retrieved when failing. This changes these two things in the hope of capturing more data about why this fails on some CI nodes but not others. Relates to #50353
This commit is contained in:
parent
e5191e77e3
commit
552edd862e
@ -27,6 +27,7 @@ import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.test.rest.ESRestTestCase;
|
||||
import org.elasticsearch.xpack.core.ilm.AllocateAction;
|
||||
import org.elasticsearch.xpack.core.ilm.DeleteAction;
|
||||
import org.elasticsearch.xpack.core.ilm.ErrorStep;
|
||||
import org.elasticsearch.xpack.core.ilm.ForceMergeAction;
|
||||
import org.elasticsearch.xpack.core.ilm.FreezeAction;
|
||||
import org.elasticsearch.xpack.core.ilm.LifecycleAction;
|
||||
@ -1086,9 +1087,8 @@ public class TimeSeriesLifecycleActionsIT extends ESRestTestCase {
|
||||
assertBusy(() -> assertThat(getStepKeyForIndex(index), equalTo(TerminalPolicyStep.KEY)));
|
||||
}
|
||||
|
||||
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/50353")
|
||||
public void testHistoryIsWrittenWithSuccess() throws Exception {
|
||||
String index = "index";
|
||||
String index = "success-index";
|
||||
|
||||
createNewSingletonPolicy("hot", new RolloverAction(null, null, 1L));
|
||||
Request createIndexTemplate = new Request("PUT", "_template/rolling_indexes");
|
||||
@ -1113,6 +1113,8 @@ public class TimeSeriesLifecycleActionsIT extends ESRestTestCase {
|
||||
Request refreshIndex = new Request("POST", "/" + index + "-1/_refresh");
|
||||
client().performRequest(refreshIndex);
|
||||
|
||||
assertBusy(() -> assertThat(getStepKeyForIndex(index + "-1"), equalTo(TerminalPolicyStep.KEY)));
|
||||
|
||||
assertBusy(() -> assertHistoryIsPresent(policy, index + "-1", true, "wait-for-indexing-complete"), 30, TimeUnit.SECONDS);
|
||||
assertBusy(() -> assertHistoryIsPresent(policy, index + "-1", true, "wait-for-follow-shard-tasks"), 30, TimeUnit.SECONDS);
|
||||
assertBusy(() -> assertHistoryIsPresent(policy, index + "-1", true, "pause-follower-index"), 30, TimeUnit.SECONDS);
|
||||
@ -1130,9 +1132,8 @@ public class TimeSeriesLifecycleActionsIT extends ESRestTestCase {
|
||||
}
|
||||
|
||||
|
||||
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/50353")
|
||||
public void testHistoryIsWrittenWithFailure() throws Exception {
|
||||
String index = "index";
|
||||
String index = "failure-index";
|
||||
|
||||
createNewSingletonPolicy("hot", new RolloverAction(null, null, 1L));
|
||||
Request createIndexTemplate = new Request("PUT", "_template/rolling_indexes");
|
||||
@ -1156,11 +1157,13 @@ public class TimeSeriesLifecycleActionsIT extends ESRestTestCase {
|
||||
Request refreshIndex = new Request("POST", "/" + index + "-1/_refresh");
|
||||
client().performRequest(refreshIndex);
|
||||
|
||||
assertBusy(() -> assertThat(getStepKeyForIndex(index + "-1").getName(), equalTo(ErrorStep.NAME)));
|
||||
|
||||
assertBusy(() -> assertHistoryIsPresent(policy, index + "-1", false, "ERROR"), 30, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
public void testHistoryIsWrittenWithDeletion() throws Exception {
|
||||
String index = "index";
|
||||
String index = "delete-index";
|
||||
|
||||
createNewSingletonPolicy("delete", new DeleteAction());
|
||||
Request createIndexTemplate = new Request("PUT", "_template/delete_indexes");
|
||||
@ -1239,8 +1242,37 @@ public class TimeSeriesLifecycleActionsIT extends ESRestTestCase {
|
||||
historyResponseMap = XContentHelper.convertToMap(XContentType.JSON.xContent(), is, true);
|
||||
}
|
||||
logger.info("--> history response: {}", historyResponseMap);
|
||||
assertThat((int)((Map<String, Object>) ((Map<String, Object>) historyResponseMap.get("hits")).get("total")).get("value"),
|
||||
greaterThanOrEqualTo(1));
|
||||
int hits = (int)((Map<String, Object>) ((Map<String, Object>) historyResponseMap.get("hits")).get("total")).get("value");
|
||||
|
||||
// For a failure, print out whatever history we *do* have for the index
|
||||
if (hits == 0) {
|
||||
final Request allResults = new Request("GET", "ilm-history*/_search");
|
||||
allResults.setJsonEntity("{\n" +
|
||||
" \"query\": {\n" +
|
||||
" \"bool\": {\n" +
|
||||
" \"must\": [\n" +
|
||||
" {\n" +
|
||||
" \"term\": {\n" +
|
||||
" \"policy\": \"" + policyName + "\"\n" +
|
||||
" }\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"term\": {\n" +
|
||||
" \"index\": \"" + indexName + "\"\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}");
|
||||
final Response allResultsResp = client().performRequest(historySearchRequest);
|
||||
Map<String, Object> allResultsMap;
|
||||
try (InputStream is = allResultsResp.getEntity().getContent()) {
|
||||
allResultsMap = XContentHelper.convertToMap(XContentType.JSON.xContent(), is, true);
|
||||
}
|
||||
logger.info("--> expected at least 1 hit, got 0. All history for index [{}]: {}", index, allResultsMap);
|
||||
}
|
||||
assertThat(hits, greaterThanOrEqualTo(1));
|
||||
} catch (ResponseException e) {
|
||||
// Throw AssertionError instead of an exception if the search fails so that assertBusy works as expected
|
||||
logger.error(e);
|
||||
|
Loading…
x
Reference in New Issue
Block a user