|
7 | 7 |
|
8 | 8 | package org.elasticsearch.xpack.logsdb;
|
9 | 9 |
|
| 10 | +import org.elasticsearch.Version; |
10 | 11 | import org.elasticsearch.cluster.metadata.DataStream;
|
11 | 12 | import org.elasticsearch.cluster.metadata.DataStreamTestHelper;
|
12 | 13 | import org.elasticsearch.cluster.metadata.Metadata;
|
@@ -62,7 +63,7 @@ public void setup() throws Exception {
|
62 | 63 | provider = new SyntheticSourceIndexSettingsProvider(syntheticSourceLicenseService, im -> {
|
63 | 64 | newMapperServiceCounter.incrementAndGet();
|
64 | 65 | return MapperTestUtils.newMapperService(xContentRegistry(), createTempDir(), im.getSettings(), im.getIndex().getName());
|
65 |
| - }, getLogsdbIndexModeSettingsProvider(false), IndexVersion::current); |
| 66 | + }, getLogsdbIndexModeSettingsProvider(false), IndexVersion::current, () -> Version.CURRENT); |
66 | 67 | newMapperServiceCounter.set(0);
|
67 | 68 | }
|
68 | 69 |
|
@@ -275,7 +276,7 @@ public void testNewIndexHasSyntheticSourceUsage_invalidSettings() throws IOExcep
|
275 | 276 | }
|
276 | 277 | }
|
277 | 278 |
|
278 |
| - public void testGetAdditionalIndexSettingsDowngradeFromSyntheticSource() throws IOException { |
| 279 | + public void testGetAdditionalIndexSettingsDowngradeFromSyntheticSource() { |
279 | 280 | String dataStreamName = "logs-app1";
|
280 | 281 | Metadata.Builder mb = Metadata.builder(
|
281 | 282 | DataStreamTestHelper.getClusterStateWithDataStreams(
|
@@ -344,13 +345,47 @@ public void testGetAdditionalIndexSettingsDowngradeFromSyntheticSource() throws
|
344 | 345 | assertThat(newMapperServiceCounter.get(), equalTo(0));
|
345 | 346 | }
|
346 | 347 |
|
| 348 | + public void testGetAdditionalIndexSettingsDowngradeFromSyntheticSourceOldNode() { |
| 349 | + String dataStreamName = "logs-app1"; |
| 350 | + Metadata.Builder mb = Metadata.builder( |
| 351 | + DataStreamTestHelper.getClusterStateWithDataStreams( |
| 352 | + List.of(Tuple.tuple(dataStreamName, 1)), |
| 353 | + List.of(), |
| 354 | + Instant.now().toEpochMilli(), |
| 355 | + builder().build(), |
| 356 | + 1 |
| 357 | + ).getMetadata() |
| 358 | + ); |
| 359 | + Metadata metadata = mb.build(); |
| 360 | + |
| 361 | + Settings settings = builder().put(SourceFieldMapper.INDEX_MAPPER_SOURCE_MODE_SETTING.getKey(), SourceFieldMapper.Mode.SYNTHETIC) |
| 362 | + .build(); |
| 363 | + |
| 364 | + syntheticSourceLicenseService.setSyntheticSourceFallback(true); |
| 365 | + provider = new SyntheticSourceIndexSettingsProvider(syntheticSourceLicenseService, im -> { |
| 366 | + newMapperServiceCounter.incrementAndGet(); |
| 367 | + return MapperTestUtils.newMapperService(xContentRegistry(), createTempDir(), im.getSettings(), im.getIndex().getName()); |
| 368 | + }, getLogsdbIndexModeSettingsProvider(false), IndexVersion::current, () -> Version.V_8_16_0); |
| 369 | + var result = provider.getAdditionalIndexSettings( |
| 370 | + DataStream.getDefaultBackingIndexName(dataStreamName, 2), |
| 371 | + dataStreamName, |
| 372 | + null, |
| 373 | + metadata, |
| 374 | + Instant.ofEpochMilli(1L), |
| 375 | + settings, |
| 376 | + List.of() |
| 377 | + ); |
| 378 | + assertTrue(result.isEmpty()); |
| 379 | + } |
| 380 | + |
347 | 381 | public void testGetAdditionalIndexSettingsDowngradeFromSyntheticSourceFileMatch() throws IOException {
|
348 | 382 | syntheticSourceLicenseService.setSyntheticSourceFallback(true);
|
349 | 383 | provider = new SyntheticSourceIndexSettingsProvider(
|
350 | 384 | syntheticSourceLicenseService,
|
351 | 385 | im -> MapperTestUtils.newMapperService(xContentRegistry(), createTempDir(), im.getSettings(), im.getIndex().getName()),
|
352 | 386 | getLogsdbIndexModeSettingsProvider(true),
|
353 |
| - IndexVersion::current |
| 387 | + IndexVersion::current, |
| 388 | + () -> Version.CURRENT |
354 | 389 | );
|
355 | 390 | final Settings settings = Settings.EMPTY;
|
356 | 391 |
|
|
0 commit comments