Unmute FollowingEngineTests#testProcessOnceOnPrimary() test (#129054)

The reason the test fails is that operations contained _seq_no field with different doc value types (with no skippers and with skippers) and this isn't allowed, since field types need to be consistent in a Lucene index.

The initial operations were generated not knowing about the fact the index mode was set to logsdb or time_series. Causing the operations to not have doc value skippers. However when replaying the operations via following engine, the operations did have doc value skippers.

The fix is to set `index.seq_no.index_options` to `points_and_doc_values`, so that the initial operations are indexed without doc value skippers.

This test doesn't gain anything from storing seqno with doc value skippers, so there is no loss of testing coverage.

Closes #128541
This commit is contained in:
Martijn van Groningen 2025-06-06 17:28:38 +02:00 committed by GitHub
parent fa383afcc5
commit deb793e2aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 2 additions and 3 deletions

View file

@ -495,9 +495,6 @@ tests:
- class: org.elasticsearch.xpack.inference.InferenceGetServicesIT
method: testGetServicesWithCompletionTaskType
issue: https://github.com/elastic/elasticsearch/issues/128952
- class: org.elasticsearch.xpack.ccr.index.engine.FollowingEngineTests
method: testProcessOnceOnPrimary
issue: https://github.com/elastic/elasticsearch/issues/128541
- class: org.elasticsearch.packaging.test.DockerTests
method: test073RunEsAsDifferentUserAndGroupWithoutBindMounting
issue: https://github.com/elastic/elasticsearch/issues/128996

View file

@ -771,9 +771,11 @@ public class FollowingEngineTests extends ESTestCase {
break;
case TIME_SERIES:
settingsBuilder.put("index.mode", "time_series").put("index.routing_path", "foo");
settingsBuilder.put("index.seq_no.index_options", "points_and_doc_values");
break;
case LOGSDB:
settingsBuilder.put("index.mode", IndexMode.LOGSDB.getName());
settingsBuilder.put("index.seq_no.index_options", "points_and_doc_values");
break;
case LOOKUP:
settingsBuilder.put("index.mode", IndexMode.LOOKUP.getName());