Skip to content

Commit 2d16cc3

Browse files
authored
Search Queries in parallel assertHitcount - part 2 (#117488)
Tests optimization by grouping assetHitCount operations
1 parent 1d5706e commit 2d16cc3

File tree

8 files changed

+197
-134
lines changed

8 files changed

+197
-134
lines changed

server/src/internalClusterTest/java/org/elasticsearch/action/admin/cluster/node/tasks/TasksIT.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -779,17 +779,13 @@ public void testTaskStoringSuccessfulResult() throws Exception {
779779
assertNoFailures(indicesAdmin().prepareRefresh(TaskResultsService.TASK_INDEX).get());
780780

781781
assertHitCount(
782+
1L,
782783
prepareSearch(TaskResultsService.TASK_INDEX).setSource(
783784
SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.action", taskInfo.action()))
784785
),
785-
1L
786-
);
787-
788-
assertHitCount(
789786
prepareSearch(TaskResultsService.TASK_INDEX).setSource(
790787
SearchSourceBuilder.searchSource().query(QueryBuilders.termQuery("task.node", taskInfo.taskId().getNodeId()))
791-
),
792-
1L
788+
)
793789
);
794790

795791
GetTaskResponse getResponse = expectFinishedTask(taskId);

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/ShrinkIndexIT.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,11 @@ public void testCreateShrinkIndexToN() {
113113
.get();
114114
}
115115
flushAndRefresh();
116-
assertHitCount(prepareSearch("first_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), 20);
117-
assertHitCount(prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), 20);
116+
assertHitCount(
117+
20,
118+
prepareSearch("first_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")),
119+
prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar"))
120+
);
118121

119122
// relocate all shards to one node such that we can merge it.
120123
updateIndexSettings(
@@ -145,9 +148,12 @@ public void testCreateShrinkIndexToN() {
145148
.get();
146149
}
147150
flushAndRefresh();
148-
assertHitCount(prepareSearch("second_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), 20);
149-
assertHitCount(prepareSearch("first_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), 20);
150-
assertHitCount(prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), 20);
151+
assertHitCount(
152+
20,
153+
prepareSearch("second_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")),
154+
prepareSearch("first_shrink").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")),
155+
prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar"))
156+
);
151157

152158
assertNoResizeSourceIndexSettings("first_shrink");
153159
assertNoResizeSourceIndexSettings("second_shrink");

server/src/internalClusterTest/java/org/elasticsearch/action/admin/indices/create/SplitIndexIT.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,12 @@ private void splitToN(int sourceShards, int firstSplitShards, int secondSplitSha
236236
GetResponse getResponse = client().prepareGet("second_split", Integer.toString(i)).setRouting(routingValue[i]).get();
237237
assertTrue(getResponse.isExists());
238238
}
239-
assertHitCount(prepareSearch("second_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs);
240-
assertHitCount(prepareSearch("first_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs);
241-
assertHitCount(prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")), numDocs);
239+
assertHitCount(
240+
numDocs,
241+
prepareSearch("second_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")),
242+
prepareSearch("first_split").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar")),
243+
prepareSearch("source").setSize(100).setQuery(new TermsQueryBuilder("foo", "bar"))
244+
);
242245
if (useNested) {
243246
assertNested("source", numDocs);
244247
assertNested("first_split", numDocs);

server/src/internalClusterTest/java/org/elasticsearch/index/mapper/DynamicMappingIT.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -683,9 +683,12 @@ public void testDynamicRuntimeNoConflicts() {
683683
BulkResponse bulkItemResponses = client().bulk(bulkRequest).actionGet();
684684
assertFalse(bulkItemResponses.buildFailureMessage(), bulkItemResponses.hasFailures());
685685

686-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("one", "one")), 1);
687-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("one.two", 3.5)), 1);
688-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("one.two.three", "1")), 1);
686+
assertHitCount(
687+
1,
688+
prepareSearch("test").setQuery(new MatchQueryBuilder("one", "one")),
689+
prepareSearch("test").setQuery(new MatchQueryBuilder("one.two", 3.5)),
690+
prepareSearch("test").setQuery(new MatchQueryBuilder("one.two.three", "1"))
691+
);
689692
}
690693

691694
public void testDynamicRuntimeObjectFields() {
@@ -722,10 +725,13 @@ public void testDynamicRuntimeObjectFields() {
722725
BulkResponse bulkItemResponses = client().bulk(bulkRequest).actionGet();
723726
assertFalse(bulkItemResponses.buildFailureMessage(), bulkItemResponses.hasFailures());
724727

725-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("obj.one", 1)), 1);
726-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("anything", "anything")), 1);
727-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("obj.runtime.one", "one")), 1);
728-
assertHitCount(prepareSearch("test").setQuery(new MatchQueryBuilder("obj.runtime.one.two", "1")), 1);
728+
assertHitCount(
729+
1,
730+
prepareSearch("test").setQuery(new MatchQueryBuilder("obj.one", 1)),
731+
prepareSearch("test").setQuery(new MatchQueryBuilder("anything", "anything")),
732+
prepareSearch("test").setQuery(new MatchQueryBuilder("obj.runtime.one", "one")),
733+
prepareSearch("test").setQuery(new MatchQueryBuilder("obj.runtime.one.two", "1"))
734+
);
729735

730736
Exception exception = expectThrows(DocumentParsingException.class, prepareIndex("test").setSource("obj.runtime", "value"));
731737
assertThat(

server/src/internalClusterTest/java/org/elasticsearch/index/mapper/MultiFieldsIntegrationIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ public void testGeoPointMultiField() throws Exception {
9191
GeoPoint point = new GeoPoint(51, 19);
9292
prepareIndex("my-index").setId("1").setSource("a", point.toString()).setRefreshPolicy(IMMEDIATE).get();
9393
assertHitCount(
94+
1L,
9495
prepareSearch("my-index").setSize(0)
9596
.setQuery(constantScoreQuery(geoDistanceQuery("a").point(51, 19).distance(50, DistanceUnit.KILOMETERS))),
96-
1L
97+
prepareSearch("my-index").setSize(0).setQuery(matchQuery("a.b", point.geohash()))
9798
);
98-
assertHitCount(prepareSearch("my-index").setSize(0).setQuery(matchQuery("a.b", point.geohash())), 1L);
9999
}
100100

101101
@SuppressWarnings("unchecked")

server/src/internalClusterTest/java/org/elasticsearch/routing/AliasRoutingIT.java

Lines changed: 85 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -123,70 +123,97 @@ public void testAliasSearchRouting() throws Exception {
123123

124124
logger.info("--> search with wrong routing, should not find");
125125
for (int i = 0; i < 5; i++) {
126-
assertHitCount(prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 0);
127-
assertHitCount(prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 0);
128-
assertHitCount(prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()), 0);
129-
assertHitCount(prepareSearch("alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 0);
126+
assertHitCount(
127+
0,
128+
prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()),
129+
prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery()),
130+
prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()),
131+
prepareSearch("alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery())
132+
);
130133
}
131134

132135
logger.info("--> search with correct routing, should find");
133136
for (int i = 0; i < 5; i++) {
134137

135-
assertHitCount(prepareSearch().setRouting("0").setQuery(QueryBuilders.matchAllQuery()), 1);
136-
assertHitCount(prepareSearch().setSize(0).setRouting("0").setQuery(QueryBuilders.matchAllQuery()), 1);
137-
assertHitCount(prepareSearch("alias0").setQuery(QueryBuilders.matchAllQuery()), 1);
138-
assertHitCount(prepareSearch("alias0").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 1);
138+
assertHitCount(
139+
1,
140+
prepareSearch().setRouting("0").setQuery(QueryBuilders.matchAllQuery()),
141+
prepareSearch().setSize(0).setRouting("0").setQuery(QueryBuilders.matchAllQuery()),
142+
prepareSearch("alias0").setQuery(QueryBuilders.matchAllQuery()),
143+
prepareSearch("alias0").setSize(0).setQuery(QueryBuilders.matchAllQuery())
144+
);
139145
}
140146

141147
logger.info("--> indexing with id [2], and routing [1] using alias");
142148
prepareIndex("alias1").setId("2").setSource("field", "value1").setRefreshPolicy(RefreshPolicy.IMMEDIATE).get();
143149

144150
logger.info("--> search with no routing, should fine two");
145151
for (int i = 0; i < 5; i++) {
146-
assertHitCount(prepareSearch().setQuery(QueryBuilders.matchAllQuery()), 2);
147-
assertHitCount(prepareSearch().setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
152+
assertHitCount(
153+
2,
154+
prepareSearch().setQuery(QueryBuilders.matchAllQuery()),
155+
prepareSearch().setSize(0).setQuery(QueryBuilders.matchAllQuery())
156+
);
148157
}
149158

150159
logger.info("--> search with 0 routing, should find one");
151160
for (int i = 0; i < 5; i++) {
152-
assertHitCount(prepareSearch().setRouting("0").setQuery(QueryBuilders.matchAllQuery()), 1);
153-
assertHitCount(prepareSearch().setSize(0).setRouting("0").setQuery(QueryBuilders.matchAllQuery()), 1);
154-
assertHitCount(prepareSearch("alias0").setQuery(QueryBuilders.matchAllQuery()), 1);
155-
assertHitCount(prepareSearch("alias0").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 1);
161+
assertHitCount(
162+
1,
163+
prepareSearch().setRouting("0").setQuery(QueryBuilders.matchAllQuery()),
164+
prepareSearch().setSize(0).setRouting("0").setQuery(QueryBuilders.matchAllQuery()),
165+
prepareSearch("alias0").setQuery(QueryBuilders.matchAllQuery()),
166+
prepareSearch("alias0").setSize(0).setQuery(QueryBuilders.matchAllQuery())
167+
);
156168
}
157169

158170
logger.info("--> search with 1 routing, should find one");
159171
for (int i = 0; i < 5; i++) {
160-
assertHitCount(prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 1);
161-
assertHitCount(prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 1);
162-
assertHitCount(prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()), 1);
163-
assertHitCount(prepareSearch("alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 1);
172+
assertHitCount(
173+
1,
174+
prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()),
175+
prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery()),
176+
prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()),
177+
prepareSearch("alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery())
178+
);
164179
}
165180

166181
logger.info("--> search with 0,1 indexRoutings , should find two");
167182
for (int i = 0; i < 5; i++) {
168-
assertHitCount(prepareSearch().setRouting("0", "1").setQuery(QueryBuilders.matchAllQuery()), 2);
169-
assertHitCount(prepareSearch().setSize(0).setRouting("0", "1").setQuery(QueryBuilders.matchAllQuery()), 2);
170-
assertHitCount(prepareSearch("alias01").setQuery(QueryBuilders.matchAllQuery()), 2);
171-
assertHitCount(prepareSearch("alias01").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
183+
assertHitCount(
184+
2,
185+
prepareSearch().setRouting("0", "1").setQuery(QueryBuilders.matchAllQuery()),
186+
prepareSearch().setSize(0).setRouting("0", "1").setQuery(QueryBuilders.matchAllQuery()),
187+
prepareSearch("alias01").setQuery(QueryBuilders.matchAllQuery()),
188+
prepareSearch("alias01").setSize(0).setQuery(QueryBuilders.matchAllQuery())
189+
);
172190
}
173191

174192
logger.info("--> search with two routing aliases , should find two");
175193
for (int i = 0; i < 5; i++) {
176-
assertHitCount(prepareSearch("alias0", "alias1").setQuery(QueryBuilders.matchAllQuery()), 2);
177-
assertHitCount(prepareSearch("alias0", "alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
194+
assertHitCount(
195+
2,
196+
prepareSearch("alias0", "alias1").setQuery(QueryBuilders.matchAllQuery()),
197+
prepareSearch("alias0", "alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery())
198+
);
178199
}
179200

180201
logger.info("--> search with alias0, alias1 and alias01, should find two");
181202
for (int i = 0; i < 5; i++) {
182-
assertHitCount(prepareSearch("alias0", "alias1", "alias01").setQuery(QueryBuilders.matchAllQuery()), 2);
183-
assertHitCount(prepareSearch("alias0", "alias1", "alias01").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
203+
assertHitCount(
204+
2,
205+
prepareSearch("alias0", "alias1", "alias01").setQuery(QueryBuilders.matchAllQuery()),
206+
prepareSearch("alias0", "alias1", "alias01").setSize(0).setQuery(QueryBuilders.matchAllQuery())
207+
);
184208
}
185209

186210
logger.info("--> search with test, alias0 and alias1, should find two");
187211
for (int i = 0; i < 5; i++) {
188-
assertHitCount(prepareSearch("test", "alias0", "alias1").setQuery(QueryBuilders.matchAllQuery()), 2);
189-
assertHitCount(prepareSearch("test", "alias0", "alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
212+
assertHitCount(
213+
2,
214+
prepareSearch("test", "alias0", "alias1").setQuery(QueryBuilders.matchAllQuery()),
215+
prepareSearch("test", "alias0", "alias1").setSize(0).setQuery(QueryBuilders.matchAllQuery())
216+
);
190217
}
191218

192219
}
@@ -236,20 +263,29 @@ public void testAliasSearchRoutingWithTwoIndices() throws Exception {
236263

237264
logger.info("--> search with alias-a1,alias-b0, should not find");
238265
for (int i = 0; i < 5; i++) {
239-
assertHitCount(prepareSearch("alias-a1", "alias-b0").setQuery(QueryBuilders.matchAllQuery()), 0);
240-
assertHitCount(prepareSearch("alias-a1", "alias-b0").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 0);
266+
assertHitCount(
267+
0,
268+
prepareSearch("alias-a1", "alias-b0").setQuery(QueryBuilders.matchAllQuery()),
269+
prepareSearch("alias-a1", "alias-b0").setSize(0).setQuery(QueryBuilders.matchAllQuery())
270+
);
241271
}
242272

243273
logger.info("--> search with alias-ab, should find two");
244274
for (int i = 0; i < 5; i++) {
245-
assertHitCount(prepareSearch("alias-ab").setQuery(QueryBuilders.matchAllQuery()), 2);
246-
assertHitCount(prepareSearch("alias-ab").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
275+
assertHitCount(
276+
2,
277+
prepareSearch("alias-ab").setQuery(QueryBuilders.matchAllQuery()),
278+
prepareSearch("alias-ab").setSize(0).setQuery(QueryBuilders.matchAllQuery())
279+
);
247280
}
248281

249282
logger.info("--> search with alias-a0,alias-b1 should find two");
250283
for (int i = 0; i < 5; i++) {
251-
assertHitCount(prepareSearch("alias-a0", "alias-b1").setQuery(QueryBuilders.matchAllQuery()), 2);
252-
assertHitCount(prepareSearch("alias-a0", "alias-b1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
284+
assertHitCount(
285+
2,
286+
prepareSearch("alias-a0", "alias-b1").setQuery(QueryBuilders.matchAllQuery()),
287+
prepareSearch("alias-a0", "alias-b1").setSize(0).setQuery(QueryBuilders.matchAllQuery())
288+
);
253289
}
254290
}
255291

@@ -317,17 +353,23 @@ public void testIndexingAliasesOverTime() throws Exception {
317353
logger.info("--> verifying get and search with routing, should find");
318354
for (int i = 0; i < 5; i++) {
319355
assertThat(client().prepareGet("test", "0").setRouting("3").get().isExists(), equalTo(true));
320-
assertHitCount(prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()), 1);
321-
assertHitCount(prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 1);
356+
assertHitCount(
357+
1,
358+
prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()),
359+
prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery())
360+
);
322361
}
323362

324363
logger.info("--> creating alias with routing [4]");
325364
assertAcked(indicesAdmin().prepareAliases().addAliasAction(AliasActions.add().index("test").alias("alias").routing("4")));
326365

327366
logger.info("--> verifying search with wrong routing should not find");
328367
for (int i = 0; i < 5; i++) {
329-
assertHitCount(prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()), 0);
330-
assertHitCount(prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 0);
368+
assertHitCount(
369+
0,
370+
prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()),
371+
prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery())
372+
);
331373
}
332374

333375
logger.info("--> creating alias with search routing [3,4] and index routing 4");
@@ -344,8 +386,11 @@ public void testIndexingAliasesOverTime() throws Exception {
344386
for (int i = 0; i < 5; i++) {
345387
assertThat(client().prepareGet("test", "0").setRouting("3").get().isExists(), equalTo(true));
346388
assertThat(client().prepareGet("test", "1").setRouting("4").get().isExists(), equalTo(true));
347-
assertHitCount(prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()), 2);
348-
assertHitCount(prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery()), 2);
389+
assertHitCount(
390+
2,
391+
prepareSearch("alias").setQuery(QueryBuilders.matchAllQuery()),
392+
prepareSearch("alias").setSize(0).setQuery(QueryBuilders.matchAllQuery())
393+
);
349394
}
350395
}
351396

server/src/internalClusterTest/java/org/elasticsearch/routing/SimpleRoutingIT.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,20 @@ public void testSimpleSearchRouting() {
141141

142142
logger.info("--> search with wrong routing, should not find");
143143
for (int i = 0; i < 5; i++) {
144-
assertHitCount(prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 0);
145-
assertHitCount(prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery()), 0);
144+
assertHitCount(
145+
0,
146+
prepareSearch().setRouting("1").setQuery(QueryBuilders.matchAllQuery()),
147+
prepareSearch().setSize(0).setRouting("1").setQuery(QueryBuilders.matchAllQuery())
148+
);
146149
}
147150

148151
logger.info("--> search with correct routing, should find");
149152
for (int i = 0; i < 5; i++) {
150-
assertHitCount(prepareSearch().setRouting(routingValue).setQuery(QueryBuilders.matchAllQuery()), 1);
151-
assertHitCount(prepareSearch().setSize(0).setRouting(routingValue).setQuery(QueryBuilders.matchAllQuery()), 1);
153+
assertHitCount(
154+
1,
155+
prepareSearch().setRouting(routingValue).setQuery(QueryBuilders.matchAllQuery()),
156+
prepareSearch().setSize(0).setRouting(routingValue).setQuery(QueryBuilders.matchAllQuery())
157+
);
152158
}
153159

154160
String secondRoutingValue = "1";

0 commit comments

Comments
 (0)