Skip to content

TimeSeriesLifecycleActionsIT.testExplainFilters fails due to ILM retries #48767

Closed
@dakrone

Description

@dakrone

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions