diff --git a/server/src/internalClusterTest/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java b/server/src/internalClusterTest/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java index a8caca94289b6..769ffd15d9bae 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java @@ -1967,7 +1967,14 @@ public void testPostRecoveryMerge() throws Exception { internalCluster().startMasterOnlyNode(); final var dataNode = internalCluster().startDataOnlyNode(); final var indexName = randomIdentifier(); - createIndex(indexName, indexSettings(1, 0).put(INDEX_MERGE_ENABLED, false).build()); + final var indexSettingsBuilder = indexSettings(1, 0).put(INDEX_MERGE_ENABLED, false); + if (randomBoolean()) { + indexSettingsBuilder.put( + IndexMetadata.SETTING_VERSION_CREATED, + IndexVersionUtils.randomVersionBetween(random(), IndexVersions.UPGRADE_TO_LUCENE_10_0_0, IndexVersion.current()) + ); + } + createIndex(indexName, indexSettingsBuilder.build()); final var initialSegmentCount = 20; for (int i = 0; i < initialSegmentCount; i++) { @@ -2051,7 +2058,7 @@ public void testPostRecoveryMergeDisabledOnOlderIndices() throws Exception { IndexVersionUtils.randomVersionBetween( random(), IndexVersionUtils.getLowestWriteCompatibleVersion(), - IndexVersionUtils.getPreviousVersion(IndexVersions.MERGE_ON_RECOVERY_VERSION) + IndexVersionUtils.getPreviousVersion(IndexVersions.UPGRADE_TO_LUCENE_10_0_0) ) ) .build() diff --git a/server/src/main/java/org/elasticsearch/indices/PostRecoveryMerger.java b/server/src/main/java/org/elasticsearch/indices/PostRecoveryMerger.java index 17382e7854e90..d0ee1545fe0c1 100644 --- a/server/src/main/java/org/elasticsearch/indices/PostRecoveryMerger.java +++ b/server/src/main/java/org/elasticsearch/indices/PostRecoveryMerger.java @@ -18,6 +18,7 @@ import org.elasticsearch.common.util.concurrent.ThrottledTaskRunner; import org.elasticsearch.core.Releasable; import org.elasticsearch.core.Strings; +import org.elasticsearch.core.UpdateForV10; import org.elasticsearch.index.IndexVersions; import org.elasticsearch.index.shard.IndexShard; import org.elasticsearch.index.shard.ShardId; @@ -46,6 +47,7 @@ class PostRecoveryMerger { private static final boolean TRIGGER_MERGE_AFTER_RECOVERY; static { + @UpdateForV10(owner = UpdateForV10.Owner.DISTRIBUTED_INDEXING) // remove this escape hatch final var propertyValue = System.getProperty("es.trigger_merge_after_recovery"); if (propertyValue == null) { TRIGGER_MERGE_AFTER_RECOVERY = true; @@ -95,7 +97,7 @@ PeerRecoveryTargetService.RecoveryListener maybeMergeAfterRecovery( return recoveryListener; } - if (indexMetadata.getCreationVersion().before(IndexVersions.MERGE_ON_RECOVERY_VERSION)) { + if (indexMetadata.getCreationVersion().before(IndexVersions.UPGRADE_TO_LUCENE_10_0_0)) { return recoveryListener; }