Closed
Description
It's possible for the testExplainFilters
test to fail due to ILM retrying the failed step and thus not being in the failed step. This causes an exception like:
java.lang.AssertionError:
Expected: (map containing ["iaelhhxvxf-error"->ANYTHING] and map containing ["iaelhhxvxf-nonexistant-policy"->ANYTHING])
but: map containing ["iaelhhxvxf-error"->ANYTHING] map was [<iaelhhxvxf-nonexistant-policy={index=iaelhhxvxf-nonexistant-policy, managed=true, policy=Xrtic, step_info={type=illegal_argument_exception, reason=policy [Xrtic] does not exist}}>]
at __randomizedtesting.SeedInfo.seed([F284FECD14016E34:74B0734551DA485]:0)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
at org.junit.Assert.assertThat(Assert.java:956)
at org.junit.Assert.assertThat(Assert.java:923)
at org.elasticsearch.xpack.ilm.TimeSeriesLifecycleActionsIT.lambda$testExplainFilters$47(TimeSeriesLifecycleActionsIT.java:866)
at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:867)
at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:840)
at org.elasticsearch.xpack.ilm.TimeSeriesLifecycleActionsIT.testExplainFilters(TimeSeriesLifecycleActionsIT.java:853)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
https://elasticsearch-ci.elastic.co/job/elastic+elasticsearch+pull-request-2/10081/testReport/junit/org.elasticsearch.xpack.ilm/TimeSeriesLifecycleActionsIT/testExplainFilters/
https://gradle-enterprise.elastic.co/s/rgyylclrstq2o
The test should use a non-retryable error to simulate a policy in error, so that ILM doesn't auto-retry it and move the index out of the ERROR step.