Skip to content

Commit 29be961

Browse files
authored
Search Queries in parallel - part 1 (#116812)
Runs some spots in parallel to increase test execution performance and get some coverage on parallel query execution
1 parent 13a51f2 commit 29be961

File tree

6 files changed

+118
-250
lines changed

6 files changed

+118
-250
lines changed

server/src/internalClusterTest/java/org/elasticsearch/indices/template/SimpleIndexTemplateIT.java

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
5151
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertRequestBuilderThrows;
5252
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse;
53+
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponses;
5354
import static org.hamcrest.Matchers.anyOf;
5455
import static org.hamcrest.Matchers.containsInAnyOrder;
5556
import static org.hamcrest.Matchers.containsString;
@@ -843,24 +844,13 @@ public void testMultipleTemplate() throws IOException {
843844

844845
ensureGreen();
845846

846-
// ax -> matches template
847-
assertResponse(
847+
assertResponses(response -> {
848+
assertHitCount(response, 1);
849+
assertEquals("value1", response.getHits().getAt(0).field("field1").getValue().toString());
850+
assertNull(response.getHits().getAt(0).field("field2"));
851+
},
848852
prepareSearch("ax").setQuery(termQuery("field1", "value1")).addStoredField("field1").addStoredField("field2"),
849-
response -> {
850-
assertHitCount(response, 1);
851-
assertEquals("value1", response.getHits().getAt(0).field("field1").getValue().toString());
852-
assertNull(response.getHits().getAt(0).field("field2"));
853-
}
854-
);
855-
856-
// bx -> matches template
857-
assertResponse(
858-
prepareSearch("bx").setQuery(termQuery("field1", "value1")).addStoredField("field1").addStoredField("field2"),
859-
response -> {
860-
assertHitCount(response, 1);
861-
assertEquals("value1", response.getHits().getAt(0).field("field1").getValue().toString());
862-
assertNull(response.getHits().getAt(0).field("field2"));
863-
}
853+
prepareSearch("bx").setQuery(termQuery("field1", "value1")).addStoredField("field1").addStoredField("field2")
864854
);
865855
}
866856

server/src/internalClusterTest/java/org/elasticsearch/search/aggregations/bucket/RandomSamplerIT.java

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package org.elasticsearch.search.aggregations.bucket;
1111

1212
import org.elasticsearch.action.index.IndexRequestBuilder;
13+
import org.elasticsearch.action.search.SearchRequestBuilder;
1314
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
1415
import org.elasticsearch.search.aggregations.bucket.sampler.random.InternalRandomSampler;
1516
import org.elasticsearch.search.aggregations.bucket.sampler.random.RandomSamplerAggregationBuilder;
@@ -20,11 +21,13 @@
2021
import java.util.HashMap;
2122
import java.util.List;
2223
import java.util.Map;
24+
import java.util.stream.IntStream;
2325

2426
import static org.elasticsearch.search.aggregations.AggregationBuilders.avg;
2527
import static org.elasticsearch.search.aggregations.AggregationBuilders.histogram;
2628
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
2729
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse;
30+
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponses;
2831
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
2932
import static org.hamcrest.Matchers.lessThan;
3033

@@ -112,27 +115,28 @@ public void testRandomSamplerConsistentSeed() {
112115
}
113116
);
114117

115-
for (int i = 0; i < NUM_SAMPLE_RUNS; i++) {
116-
assertResponse(
117-
prepareSearch("idx").setPreference("shard:0")
118-
.addAggregation(
119-
new RandomSamplerAggregationBuilder("sampler").setProbability(PROBABILITY)
120-
.setSeed(0)
121-
.subAggregation(avg("mean_monotonic").field(MONOTONIC_VALUE))
122-
.subAggregation(avg("mean_numeric").field(NUMERIC_VALUE))
123-
.setShardSeed(42)
124-
),
125-
response -> {
126-
InternalRandomSampler sampler = response.getAggregations().get("sampler");
127-
double monotonicValue = ((Avg) sampler.getAggregations().get("mean_monotonic")).getValue();
128-
double numericValue = ((Avg) sampler.getAggregations().get("mean_numeric")).getValue();
129-
long docCount = sampler.getDocCount();
130-
assertEquals(monotonicValue, sampleMonotonicValue[0], tolerance);
131-
assertEquals(numericValue, sampleNumericValue[0], tolerance);
132-
assertEquals(docCount, sampledDocCount[0]);
133-
}
134-
);
135-
}
118+
assertResponses(response -> {
119+
InternalRandomSampler sampler = response.getAggregations().get("sampler");
120+
double monotonicValue = ((Avg) sampler.getAggregations().get("mean_monotonic")).getValue();
121+
double numericValue = ((Avg) sampler.getAggregations().get("mean_numeric")).getValue();
122+
long docCount = sampler.getDocCount();
123+
assertEquals(monotonicValue, sampleMonotonicValue[0], tolerance);
124+
assertEquals(numericValue, sampleNumericValue[0], tolerance);
125+
assertEquals(docCount, sampledDocCount[0]);
126+
},
127+
IntStream.rangeClosed(0, NUM_SAMPLE_RUNS - 1)
128+
.mapToObj(
129+
num -> prepareSearch("idx").setPreference("shard:0")
130+
.addAggregation(
131+
new RandomSamplerAggregationBuilder("sampler").setProbability(PROBABILITY)
132+
.setSeed(0)
133+
.subAggregation(avg("mean_monotonic").field(MONOTONIC_VALUE))
134+
.subAggregation(avg("mean_numeric").field(NUMERIC_VALUE))
135+
.setShardSeed(42)
136+
)
137+
)
138+
.toArray(SearchRequestBuilder[]::new)
139+
);
136140
}
137141

138142
public void testRandomSampler() {

0 commit comments

Comments
 (0)