Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/changelog/141539.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
area: Infra/Core
issues: []
pr: 141539
summary: Reindexing older indices with percolator fields clears migration assistant
errors
type: bug
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -1283,6 +1284,7 @@ public void testBuildIndexMetadataWithTransportVersionBeforeEventIngestedRangeAd

Settings indexSettings = indexSettings(IndexVersion.current(), 1, 0).build();
List<AliasMetadata> 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,
Expand All @@ -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));
Expand All @@ -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() {
Expand Down