diff --git a/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/ILMDownsampleDisruptionIT.java b/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/ILMDownsampleDisruptionIT.java index d4e0cb7c8e5b9..4f33ae0966abf 100644 --- a/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/ILMDownsampleDisruptionIT.java +++ b/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/ILMDownsampleDisruptionIT.java @@ -210,8 +210,14 @@ private void startDownsampleTaskViaIlm( var request = new UpdateSettingsRequest(sourceIndex).settings( Settings.builder().put(LifecycleSettings.LIFECYCLE_NAME, POLICY_NAME) ); + // Updating index.lifecycle.name setting may fail due to the rolling restart itself, + // we need to attempt it in a assertBusy(...) assertBusy(() -> { try { + if (indexExists(sourceIndex) == false) { + logger.info("The source index [{}] no longer exists, downsampling likely completed", sourceIndex); + return; + } client().admin().indices().updateSettings(request).actionGet(TimeValue.timeValueSeconds(10)); } catch (Exception e) { logger.warn(() -> format("encountered failure while updating [%s] index's ilm policy", sourceIndex), e);