From ea8a3e728fd2c5d0a28f89bcdf0f899b177d87a7 Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Thu, 29 Jan 2026 10:34:47 -0800 Subject: [PATCH 1/2] Ensure index transport version is correctly set when building metadata --- .../cluster/metadata/MetadataCreateIndexService.java | 2 +- .../cluster/metadata/MetadataCreateIndexServiceTests.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java index 6d93fd4495a1e..bd53c746ea623 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java @@ -588,7 +588,6 @@ private IndexMetadata buildAndValidateTemporaryIndexMetadata( final IndexMetadata.Builder tmpImdBuilder = IndexMetadata.builder(request.index()); tmpImdBuilder.setRoutingNumShards(routingNumShards); tmpImdBuilder.settings(indexSettings); - tmpImdBuilder.transportVersion(TransportVersion.current()); tmpImdBuilder.system(isSystem); // Set up everything, now locally create the index to see that things are ok, and apply @@ -1366,6 +1365,7 @@ static IndexMetadata buildIndexMetadata( ) { IndexMetadata.Builder indexMetadataBuilder = createIndexMetadataBuilder(indexName, sourceMetadata, indexSettings, routingNumShards); indexMetadataBuilder.system(isSystem); + indexMetadataBuilder.transportVersion(minClusterTransportVersion); if (minClusterTransportVersion.before(TransportVersions.V_8_15_0)) { // promote to UNKNOWN for older versions since they don't know how to handle event.ingested in cluster state indexMetadataBuilder.eventIngestedRange(IndexLongFieldRange.UNKNOWN, minClusterTransportVersion); diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexServiceTests.java index 0b51d5ab510f8..6e0c2ceec3788 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexServiceTests.java @@ -1271,6 +1271,7 @@ public void testBuildIndexMetadata() { assertThat("The source index primary term must be used", indexMetadata.primaryTerm(0), is(3L)); assertThat(indexMetadata.getTimestampRange(), equalTo(IndexLongFieldRange.NO_SHARDS)); assertThat(indexMetadata.getEventIngestedRange(), equalTo(IndexLongFieldRange.NO_SHARDS)); + assertThat(indexMetadata.getTransportVersion(), equalTo(TransportVersion.current())); } public void testBuildIndexMetadataWithTransportVersionBeforeEventIngestedRangeAdded() { @@ -1283,6 +1284,7 @@ public void testBuildIndexMetadataWithTransportVersionBeforeEventIngestedRangeAd Settings indexSettings = indexSettings(IndexVersion.current(), 1, 0).build(); List aliases = List.of(AliasMetadata.builder("alias1").build()); + TransportVersion transportVersion = randomFrom(TransportVersions.V_7_0_0, TransportVersions.V_8_0_0); IndexMetadata indexMetadata = buildIndexMetadata( "test", aliases, @@ -1291,7 +1293,7 @@ public void testBuildIndexMetadataWithTransportVersionBeforeEventIngestedRangeAd 4, sourceIndexMetadata, false, - randomFrom(TransportVersions.V_7_0_0, TransportVersions.V_8_0_0) + transportVersion ); assertThat(indexMetadata.getAliases().size(), is(1)); @@ -1300,6 +1302,7 @@ public void testBuildIndexMetadataWithTransportVersionBeforeEventIngestedRangeAd assertThat(indexMetadata.getTimestampRange(), equalTo(IndexLongFieldRange.NO_SHARDS)); // on versions before event.ingested was added to cluster state, it should default to UNKNOWN, not NO_SHARDS assertThat(indexMetadata.getEventIngestedRange(), equalTo(IndexLongFieldRange.UNKNOWN)); + assertThat(indexMetadata.getTransportVersion(), equalTo(transportVersion)); } public void testGetIndexNumberOfRoutingShardsWithNullSourceIndex() { From 505082f4a9a36bdf7cdc4c6dd2f1a92f21acfde3 Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Thu, 29 Jan 2026 10:40:58 -0800 Subject: [PATCH 2/2] Update docs/changelog/141539.yaml --- docs/changelog/141539.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/changelog/141539.yaml diff --git a/docs/changelog/141539.yaml b/docs/changelog/141539.yaml new file mode 100644 index 0000000000000..c0aa56b5430ef --- /dev/null +++ b/docs/changelog/141539.yaml @@ -0,0 +1,6 @@ +area: Infra/Core +issues: [] +pr: 141539 +summary: Reindexing older indices with percolator fields clears migration assistant + errors +type: bug