From ae5f7e1b7a411183aa71b004c6768a44803bdc55 Mon Sep 17 00:00:00 2001 From: Kostas Krikellas <131142368+kkrik-es@users.noreply.github.com> Date: Tue, 11 Mar 2025 12:05:22 +0200 Subject: [PATCH 1/2] Avoid warnings for non-system indexes using `fast_refresh` (#124294) * Update LogsdbIndexModeSettingsProvider.java * add test --- .../LogsdbIndexModeSettingsProvider.java | 3 +- .../LogsdbIndexModeSettingsProviderTests.java | 49 ++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/x-pack/plugin/logsdb/src/main/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProvider.java b/x-pack/plugin/logsdb/src/main/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProvider.java index 0257f2c3da8be..d990a43148427 100644 --- a/x-pack/plugin/logsdb/src/main/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProvider.java +++ b/x-pack/plugin/logsdb/src/main/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProvider.java @@ -308,7 +308,8 @@ private IndexMetadata buildIndexMetadataForMapperService( .put(indexTemplateAndCreateRequestSettings) .put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, dummyShards) .put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, shardReplicas) - .put(IndexMetadata.SETTING_INDEX_UUID, UUIDs.randomBase64UUID()); + .put(IndexMetadata.SETTING_INDEX_UUID, UUIDs.randomBase64UUID()) + .put(IndexSettings.INDEX_FAST_REFRESH_SETTING.getKey(), false); // Avoid warnings for non-system indexes. if (templateIndexMode == IndexMode.TIME_SERIES) { finalResolvedSettings.put(IndexSettings.MODE.getKey(), IndexMode.TIME_SERIES); diff --git a/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java b/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java index 44bc551241c4f..2b3d7acb857a4 100644 --- a/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java +++ b/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java @@ -1111,7 +1111,10 @@ public void testSortAndHostFieldSubobjectsFalse() throws Exception { } public void testSortAndHostNameObject() throws Exception { - var settings = Settings.builder().put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB).build(); + var settings = Settings.builder() + .put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB) + .put(IndexSettings.INDEX_FAST_REFRESH_SETTING.getKey(), true) + .build(); var mappings = """ { "_doc": { @@ -1131,4 +1134,48 @@ public void testSortAndHostNameObject() throws Exception { assertFalse(IndexSettings.LOGSDB_ADD_HOST_NAME_FIELD.get(result)); assertEquals(1, newMapperServiceCounter.get()); } + + public void testSortFastRefresh() throws Exception { + var settings = Settings.builder() + .put(IndexSettings.MODE.getKey(), IndexMode.LOGSDB) + .put(IndexSettings.INDEX_FAST_REFRESH_SETTING.getKey(), true) + .build(); + var mappings = """ + { + "_doc": { + "properties": { + "@timestamp": { + "type": "date" + } + } + } + } + """; + + String systemIndex = ".security-profile"; + Metadata metadata = Metadata.EMPTY_METADATA; + var provider = new LogsdbIndexModeSettingsProvider( + logsdbLicenseService, + Settings.builder().put("cluster.logsdb.enabled", true).build() + ); + provider.init( + im -> MapperTestUtils.newMapperService(xContentRegistry(), createTempDir(), im.getSettings(), im.getIndex().getName()), + IndexVersion::current, + () -> Version.CURRENT, + true, + true + ); + var additionalIndexSettings = provider.getAdditionalIndexSettings( + DataStream.getDefaultBackingIndexName(systemIndex, 0), + systemIndex, + IndexMode.LOGSDB, + metadata.getProject(), + Instant.now(), + settings, + List.of(new CompressedXContent(mappings)) + ); + + Settings result = builder().put(additionalIndexSettings).build(); + assertTrue(IndexSettings.LOGSDB_SORT_ON_HOST_NAME.get(result)); + } } From e1078f99090f9082f4d0a386348ccca81378d71b Mon Sep 17 00:00:00 2001 From: Kostas Krikellas <131142368+kkrik-es@users.noreply.github.com> Date: Tue, 11 Mar 2025 12:36:19 +0200 Subject: [PATCH 2/2] Update LogsdbIndexModeSettingsProviderTests.java --- .../xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java b/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java index 2b3d7acb857a4..b586acdf002ab 100644 --- a/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java +++ b/x-pack/plugin/logsdb/src/test/java/org/elasticsearch/xpack/logsdb/LogsdbIndexModeSettingsProviderTests.java @@ -1169,7 +1169,7 @@ public void testSortFastRefresh() throws Exception { DataStream.getDefaultBackingIndexName(systemIndex, 0), systemIndex, IndexMode.LOGSDB, - metadata.getProject(), + metadata, Instant.now(), settings, List.of(new CompressedXContent(mappings))