Skip to content

Commit 798c105

Browse files
authored
Fix ShardBulkInferenceActionFilterIT#testRestart (#127671)
Simplify and fix the wrong assumptions in these tests. Closes #127592 Closes #127593 Closes #127594
1 parent d673339 commit 798c105

File tree

2 files changed

+9
-33
lines changed

2 files changed

+9
-33
lines changed

muted-tests.yml

-12
Original file line numberDiff line numberDiff line change
@@ -417,18 +417,6 @@ tests:
417417
- class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeIT
418418
method: test
419419
issue: https://github.com/elastic/elasticsearch/issues/127536
420-
- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT
421-
method: testRestart {p0=false p1=false}
422-
issue: https://github.com/elastic/elasticsearch/issues/127592
423-
- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT
424-
method: testRestart {p0=true p1=false}
425-
issue: https://github.com/elastic/elasticsearch/issues/127593
426-
- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT
427-
method: testRestart {p0=false p1=true}
428-
issue: https://github.com/elastic/elasticsearch/issues/127594
429-
- class: org.elasticsearch.xpack.inference.action.filter.ShardBulkInferenceActionFilterIT
430-
method: testRestart {p0=true p1=true}
431-
issue: https://github.com/elastic/elasticsearch/issues/127595
432420
- class: org.elasticsearch.xpack.test.rest.XPackRestIT
433421
method: test {p0=ml/data_frame_analytics_cat_apis/Test cat data frame analytics all jobs with header}
434422
issue: https://github.com/elastic/elasticsearch/issues/127625

x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterIT.java

+9-21
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99

1010
import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
1111

12-
import org.elasticsearch.action.admin.indices.refresh.RefreshRequest;
1312
import org.elasticsearch.action.bulk.BulkItemResponse;
1413
import org.elasticsearch.action.bulk.BulkRequestBuilder;
1514
import org.elasticsearch.action.bulk.BulkResponse;
1615
import org.elasticsearch.action.delete.DeleteRequestBuilder;
1716
import org.elasticsearch.action.index.IndexRequestBuilder;
1817
import org.elasticsearch.action.search.SearchRequest;
1918
import org.elasticsearch.action.search.SearchResponse;
19+
import org.elasticsearch.action.support.WriteRequest;
2020
import org.elasticsearch.action.update.UpdateRequestBuilder;
2121
import org.elasticsearch.cluster.metadata.IndexMetadata;
2222
import org.elasticsearch.common.settings.Settings;
@@ -242,12 +242,10 @@ public void testRestart() throws Exception {
242242

243243
private void assertRandomBulkOperations(String indexName, Function<Boolean, Map<String, Object>> sourceSupplier) throws Exception {
244244
int numHits = numHits(indexName);
245-
int totalBulkReqs = randomIntBetween(2, 100);
246-
long totalDocs = numHits;
245+
int totalBulkReqs = randomIntBetween(2, 10);
247246
Set<String> ids = new HashSet<>();
248-
249-
for (int bulkReqs = numHits; bulkReqs < totalBulkReqs; bulkReqs++) {
250-
BulkRequestBuilder bulkReqBuilder = client().prepareBulk();
247+
for (int bulkReqs = 0; bulkReqs < totalBulkReqs; bulkReqs++) {
248+
BulkRequestBuilder bulkReqBuilder = client().prepareBulk().setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
251249
int totalBulkSize = randomIntBetween(1, 100);
252250
for (int bulkSize = 0; bulkSize < totalBulkSize; bulkSize++) {
253251
if (ids.size() > 0 && rarely(random())) {
@@ -257,24 +255,15 @@ private void assertRandomBulkOperations(String indexName, Function<Boolean, Map<
257255
bulkReqBuilder.add(request);
258256
continue;
259257
}
260-
String id = Long.toString(totalDocs++);
261-
boolean isIndexRequest = randomBoolean();
258+
boolean isIndexRequest = ids.size() == 0 || randomBoolean();
262259
Map<String, Object> source = sourceSupplier.apply(isIndexRequest);
263260
if (isIndexRequest) {
261+
String id = randomAlphaOfLength(20);
264262
bulkReqBuilder.add(new IndexRequestBuilder(client()).setIndex(indexName).setId(id).setSource(source));
265263
ids.add(id);
266264
} else {
267-
boolean isUpsert = randomBoolean();
268-
UpdateRequestBuilder request = new UpdateRequestBuilder(client()).setIndex(indexName).setDoc(source);
269-
if (isUpsert || ids.size() == 0) {
270-
request.setDocAsUpsert(true);
271-
} else {
272-
// Update already existing document
273-
id = randomFrom(ids);
274-
}
275-
request.setId(id);
276-
bulkReqBuilder.add(request);
277-
ids.add(id);
265+
String id = randomFrom(ids);
266+
bulkReqBuilder.add(new UpdateRequestBuilder(client()).setIndex(indexName).setId(id).setDoc(source));
278267
}
279268
}
280269
BulkResponse bulkResponse = bulkReqBuilder.get();
@@ -293,8 +282,7 @@ private void assertRandomBulkOperations(String indexName, Function<Boolean, Map<
293282
}
294283
assertFalse(bulkResponse.hasFailures());
295284
}
296-
client().admin().indices().refresh(new RefreshRequest(indexName)).get();
297-
assertThat(numHits(indexName), equalTo(ids.size() + numHits));
285+
assertThat(numHits(indexName), equalTo(numHits + ids.size()));
298286
}
299287

300288
private int numHits(String indexName) throws Exception {

0 commit comments

Comments
 (0)