From 569ee65eed6a5eb8759df7dc8529faebd127c32b Mon Sep 17 00:00:00 2001 From: Lamine Idjeraoui Date: Wed, 15 Oct 2025 10:46:10 -0500 Subject: [PATCH 1/3] Fix flack test #18056 Signed-off-by: Lamine Idjeraoui --- .../java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java index 26ddbedd5c235..89f1fcbd8110b 100644 --- a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java @@ -96,11 +96,15 @@ public void testClusterLevelDefaultUpdatesMergePolicy() throws ExecutionExceptio assertEquals(20, ((OpenSearchTieredMergePolicy) indexService.getIndexSettings().getMergePolicy(true)).getMaxMergeAtOnce()); assertEquals(20, ((OpenSearchTieredMergePolicy) secondIndexService.getIndexSettings().getMergePolicy(true)).getMaxMergeAtOnce()); + int replicas = randomIntBetween(1, Math.max(1, internalCluster().numDataNodes() - 1)); // Create index with index level override in settings indexName = "log-myindex-3"; createIndex( indexName, - Settings.builder().put(TieredMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING.getKey(), 15).build() + Settings.builder() + .put(TieredMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING.getKey(), 15) + .put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, replicas) + .build() ); ensureYellowAndNoInitializingShards(indexName); ensureGreen(indexName); From 17e5f99b78e175fbe74df24e04e89f77084f2457 Mon Sep 17 00:00:00 2001 From: Lamine Idjeraoui Date: Wed, 15 Oct 2025 16:24:46 -0500 Subject: [PATCH 2/3] remove AwaitsFix annotation update change log Signed-off-by: Lamine Idjeraoui --- CHANGELOG.md | 1 + .../java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4c8a68947f65..d4982500de30c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Fix flaky test FieldDataLoadingIT.testIndicesFieldDataCacheSizeSetting ([#19571](https://github.com/opensearch-project/OpenSearch/pull/19571)) - Avoid primary shard failure caused by merged segment warmer exceptions ([#19436](https://github.com/opensearch-project/OpenSearch/pull/19436)) - Fix pull-based ingestion out-of-bounds offset scenarios and remove persisted offsets ([#19607](https://github.com/opensearch-project/OpenSearch/pull/19607)) +- Fix flaky test ClusterMaxMergesAtOnceIT.testClusterLevelDefaultUpdatesMergePolicy ([#18056](https://github.com/opensearch-project/OpenSearch/issues/18056)) ### Dependencies - Update to Gradle 9.1 ([#19575](https://github.com/opensearch-project/OpenSearch/pull/19575)) diff --git a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java index 89f1fcbd8110b..3f0fb93411ac8 100644 --- a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java @@ -64,7 +64,6 @@ public void setUp() throws Exception { internalCluster().startClusterManagerOnlyNode(); } - @AwaitsFix(bugUrl = "https://github.com/opensearch-project/OpenSearch/issues/18056") public void testClusterLevelDefaultUpdatesMergePolicy() throws ExecutionException, InterruptedException { String clusterManagerName = internalCluster().getClusterManagerName(); List dataNodes = new ArrayList<>(internalCluster().getDataNodeNames()); From 9154fe724aafe341dd583e1fc1895d8bbbec2a21 Mon Sep 17 00:00:00 2001 From: Lamine Idjeraoui Date: Sun, 7 Dec 2025 19:06:54 -0600 Subject: [PATCH 3/3] use prepareCreate to merge with setup settings Signed-off-by: Lamine Idjeraoui --- .../opensearch/index/ClusterMaxMergesAtOnceIT.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java index 3f0fb93411ac8..679ceb6ca61f2 100644 --- a/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/index/ClusterMaxMergesAtOnceIT.java @@ -48,6 +48,7 @@ import java.util.concurrent.ExecutionException; import static org.opensearch.indices.IndicesService.CLUSTER_DEFAULT_INDEX_MAX_MERGE_AT_ONCE_SETTING; +import static org.opensearch.test.hamcrest.OpenSearchAssertions.assertAcked; @OpenSearchIntegTestCase.ClusterScope(scope = OpenSearchIntegTestCase.Scope.TEST, numDataNodes = 2) public class ClusterMaxMergesAtOnceIT extends AbstractSnapshotIntegTestCase { @@ -95,15 +96,13 @@ public void testClusterLevelDefaultUpdatesMergePolicy() throws ExecutionExceptio assertEquals(20, ((OpenSearchTieredMergePolicy) indexService.getIndexSettings().getMergePolicy(true)).getMaxMergeAtOnce()); assertEquals(20, ((OpenSearchTieredMergePolicy) secondIndexService.getIndexSettings().getMergePolicy(true)).getMaxMergeAtOnce()); - int replicas = randomIntBetween(1, Math.max(1, internalCluster().numDataNodes() - 1)); // Create index with index level override in settings indexName = "log-myindex-3"; - createIndex( - indexName, - Settings.builder() - .put(TieredMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING.getKey(), 15) - .put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, replicas) - .build() + assertAcked( + prepareCreate( + indexName, + Settings.builder().put(TieredMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_AT_ONCE_SETTING.getKey(), 15) + ) ); ensureYellowAndNoInitializingShards(indexName); ensureGreen(indexName);