From 72ccd713b0b40342f9ea7abad88a0670ad5f2ca6 Mon Sep 17 00:00:00 2001 From: Jim Ferenczi Date: Sat, 3 May 2025 08:51:50 +0100 Subject: [PATCH 1/3] Fix ShardBulkInferenceActionFilterIT#testRestart Simplify and fix the wrong assumptions in these tests. Closes #127536 Closes #127592 Closes #127593 Closes #127594 --- muted-tests.yml | 12 -------- .../ShardBulkInferenceActionFilterIT.java | 30 ++++++------------- 2 files changed, 9 insertions(+), 33 deletions(-) diff --git a/muted-tests.yml b/muted-tests.yml index c58eca4eeb2c7..cac23297a420c 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -422,18 +422,6 @@ tests: issue: https://github.com/elastic/elasticsearch/issues/127365 - class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeIT method: test - issue: https://github.com/elastic/elasticsearch/issues/127536 -- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT - method: testRestart {p0=false p1=false} - issue: https://github.com/elastic/elasticsearch/issues/127592 -- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT - method: testRestart {p0=true p1=false} - issue: https://github.com/elastic/elasticsearch/issues/127593 -- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT - method: testRestart {p0=false p1=true} - issue: https://github.com/elastic/elasticsearch/issues/127594 -- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT - method: testRestart {p0=true p1=true} issue: https://github.com/elastic/elasticsearch/issues/127595 - class: org.elasticsearch.xpack.test.rest.XPackRestIT method: test {p0=ml/data_frame_analytics_cat_apis/Test cat data frame analytics all jobs with header} diff --git a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java index 074678bbea095..06c71175c86bc 100644 --- a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java +++ b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java @@ -9,7 +9,6 @@ import com.carrotsearch.randomizedtesting.annotations.ParametersFactory; -import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; import org.elasticsearch.action.bulk.BulkItemResponse; import org.elasticsearch.action.bulk.BulkRequestBuilder; import org.elasticsearch.action.bulk.BulkResponse; @@ -17,6 +16,7 @@ import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.action.support.WriteRequest; import org.elasticsearch.action.update.UpdateRequestBuilder; import org.elasticsearch.cluster.metadata.IndexMetadata; import org.elasticsearch.common.settings.Settings; @@ -242,12 +242,10 @@ public void testRestart() throws Exception { private void assertRandomBulkOperations(String indexName, Function> sourceSupplier) throws Exception { int numHits = numHits(indexName); - int totalBulkReqs = randomIntBetween(2, 100); - long totalDocs = numHits; + int totalBulkReqs = randomIntBetween(2, 10); Set ids = new HashSet<>(); - - for (int bulkReqs = numHits; bulkReqs < totalBulkReqs; bulkReqs++) { - BulkRequestBuilder bulkReqBuilder = client().prepareBulk(); + for (int bulkReqs = 0; bulkReqs < totalBulkReqs; bulkReqs++) { + BulkRequestBuilder bulkReqBuilder = client().prepareBulk().setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE); int totalBulkSize = randomIntBetween(1, 100); for (int bulkSize = 0; bulkSize < totalBulkSize; bulkSize++) { if (ids.size() > 0 && rarely(random())) { @@ -257,24 +255,15 @@ private void assertRandomBulkOperations(String indexName, Function source = sourceSupplier.apply(isIndexRequest); if (isIndexRequest) { + String id = randomAlphaOfLength(20); bulkReqBuilder.add(new IndexRequestBuilder(client()).setIndex(indexName).setId(id).setSource(source)); ids.add(id); } else { - boolean isUpsert = randomBoolean(); - UpdateRequestBuilder request = new UpdateRequestBuilder(client()).setIndex(indexName).setDoc(source); - if (isUpsert || ids.size() == 0) { - request.setDocAsUpsert(true); - } else { - // Update already existing document - id = randomFrom(ids); - } - request.setId(id); - bulkReqBuilder.add(request); - ids.add(id); + String id = randomFrom(ids); + bulkReqBuilder.add(new UpdateRequestBuilder(client()).setIndex(indexName).setId(id).setDoc(source)); } } BulkResponse bulkResponse = bulkReqBuilder.get(); @@ -293,8 +282,7 @@ private void assertRandomBulkOperations(String indexName, Function Date: Sat, 3 May 2025 08:03:40 +0000 Subject: [PATCH 2/3] [CI] Auto commit changes from spotless --- .../action/filter/ShardBulkInferenceActionFilterIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java index 06c71175c86bc..8405fba22460f 100644 --- a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java +++ b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java @@ -282,7 +282,7 @@ private void assertRandomBulkOperations(String indexName, Function Date: Mon, 5 May 2025 16:11:38 +0100 Subject: [PATCH 3/3] address review comment --- muted-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/muted-tests.yml b/muted-tests.yml index a36d486776dce..2593c66f164ec 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -416,7 +416,7 @@ tests: issue: https://github.com/elastic/elasticsearch/issues/127365 - class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeIT method: test - issue: https://github.com/elastic/elasticsearch/issues/127595 + issue: https://github.com/elastic/elasticsearch/issues/127536 - class: org.elasticsearch.xpack.test.rest.XPackRestIT method: test {p0=ml/data_frame_analytics_cat_apis/Test cat data frame analytics all jobs with header} issue: https://github.com/elastic/elasticsearch/issues/127625