31
31
32
32
package org .opensearch .index .shard ;
33
33
34
+ import org .apache .lucene .index .LeafReaderContext ;
34
35
import org .opensearch .search .internal .ReaderContext ;
35
36
import org .opensearch .search .internal .SearchContext ;
36
37
import org .opensearch .test .OpenSearchTestCase ;
@@ -56,6 +57,9 @@ public void testListenersAreExecuted() {
56
57
AtomicInteger preQuery = new AtomicInteger ();
57
58
AtomicInteger failedQuery = new AtomicInteger ();
58
59
AtomicInteger onQuery = new AtomicInteger ();
60
+ AtomicInteger preSlice = new AtomicInteger ();
61
+ AtomicInteger failedSlice = new AtomicInteger ();
62
+ AtomicInteger onSlice = new AtomicInteger ();
59
63
AtomicInteger onFetch = new AtomicInteger ();
60
64
AtomicInteger preFetch = new AtomicInteger ();
61
65
AtomicInteger failedFetch = new AtomicInteger ();
@@ -86,6 +90,24 @@ public void onQueryPhase(SearchContext searchContext, long tookInNanos) {
86
90
onQuery .incrementAndGet ();
87
91
}
88
92
93
+ @ Override
94
+ public void onPreSliceExecution (SearchContext searchContext , List <LeafReaderContext > leaves ) {
95
+ assertNotNull (searchContext );
96
+ preSlice .incrementAndGet ();
97
+ }
98
+
99
+ @ Override
100
+ public void onFailedSliceExecution (SearchContext searchContext , List <LeafReaderContext > leaves ) {
101
+ assertNotNull (searchContext );
102
+ failedSlice .incrementAndGet ();
103
+ }
104
+
105
+ @ Override
106
+ public void onSliceExecution (SearchContext searchContext , List <LeafReaderContext > leaves ) {
107
+ assertNotNull (searchContext );
108
+ onSlice .incrementAndGet ();
109
+ }
110
+
89
111
@ Override
90
112
public void onPreFetchPhase (SearchContext searchContext ) {
91
113
assertNotNull (searchContext );
@@ -167,10 +189,30 @@ public void onSearchIdleReactivation() {
167
189
compositeListener .onQueryPhase (ctx , timeInNanos .get ());
168
190
assertEquals (0 , preFetch .get ());
169
191
assertEquals (0 , preQuery .get ());
192
+ assertEquals (0 , preSlice .get ());
193
+ assertEquals (0 , failedFetch .get ());
194
+ assertEquals (0 , failedQuery .get ());
195
+ assertEquals (0 , failedSlice .get ());
196
+ assertEquals (2 , onQuery .get ());
197
+ assertEquals (0 , onFetch .get ());
198
+ assertEquals (0 , onSlice .get ());
199
+ assertEquals (0 , newContext .get ());
200
+ assertEquals (0 , newScrollContext .get ());
201
+ assertEquals (0 , freeContext .get ());
202
+ assertEquals (0 , freeScrollContext .get ());
203
+ assertEquals (0 , searchIdleReactivateCount .get ());
204
+ assertEquals (0 , validateSearchContext .get ());
205
+
206
+ compositeListener .onSliceExecution (ctx , Collections .emptyList ());
207
+ assertEquals (0 , preFetch .get ());
208
+ assertEquals (0 , preQuery .get ());
209
+ assertEquals (0 , preSlice .get ());
170
210
assertEquals (0 , failedFetch .get ());
171
211
assertEquals (0 , failedQuery .get ());
212
+ assertEquals (0 , failedSlice .get ());
172
213
assertEquals (2 , onQuery .get ());
173
214
assertEquals (0 , onFetch .get ());
215
+ assertEquals (2 , onSlice .get ());
174
216
assertEquals (0 , newContext .get ());
175
217
assertEquals (0 , newScrollContext .get ());
176
218
assertEquals (0 , freeContext .get ());
@@ -181,10 +223,13 @@ public void onSearchIdleReactivation() {
181
223
compositeListener .onFetchPhase (ctx , timeInNanos .get ());
182
224
assertEquals (0 , preFetch .get ());
183
225
assertEquals (0 , preQuery .get ());
226
+ assertEquals (0 , preSlice .get ());
184
227
assertEquals (0 , failedFetch .get ());
185
228
assertEquals (0 , failedQuery .get ());
229
+ assertEquals (0 , failedSlice .get ());
186
230
assertEquals (2 , onQuery .get ());
187
231
assertEquals (2 , onFetch .get ());
232
+ assertEquals (2 , onSlice .get ());
188
233
assertEquals (0 , newContext .get ());
189
234
assertEquals (0 , newScrollContext .get ());
190
235
assertEquals (0 , freeContext .get ());
@@ -195,10 +240,30 @@ public void onSearchIdleReactivation() {
195
240
compositeListener .onPreQueryPhase (ctx );
196
241
assertEquals (0 , preFetch .get ());
197
242
assertEquals (2 , preQuery .get ());
243
+ assertEquals (0 , preSlice .get ());
198
244
assertEquals (0 , failedFetch .get ());
199
245
assertEquals (0 , failedQuery .get ());
246
+ assertEquals (0 , failedSlice .get ());
200
247
assertEquals (2 , onQuery .get ());
201
248
assertEquals (2 , onFetch .get ());
249
+ assertEquals (2 , onSlice .get ());
250
+ assertEquals (0 , newContext .get ());
251
+ assertEquals (0 , newScrollContext .get ());
252
+ assertEquals (0 , freeContext .get ());
253
+ assertEquals (0 , freeScrollContext .get ());
254
+ assertEquals (0 , searchIdleReactivateCount .get ());
255
+ assertEquals (0 , validateSearchContext .get ());
256
+
257
+ compositeListener .onPreSliceExecution (ctx , Collections .emptyList ());
258
+ assertEquals (0 , preFetch .get ());
259
+ assertEquals (2 , preQuery .get ());
260
+ assertEquals (2 , preSlice .get ());
261
+ assertEquals (0 , failedFetch .get ());
262
+ assertEquals (0 , failedQuery .get ());
263
+ assertEquals (0 , failedSlice .get ());
264
+ assertEquals (2 , onQuery .get ());
265
+ assertEquals (2 , onFetch .get ());
266
+ assertEquals (2 , onSlice .get ());
202
267
assertEquals (0 , newContext .get ());
203
268
assertEquals (0 , newScrollContext .get ());
204
269
assertEquals (0 , freeContext .get ());
@@ -209,10 +274,13 @@ public void onSearchIdleReactivation() {
209
274
compositeListener .onPreFetchPhase (ctx );
210
275
assertEquals (2 , preFetch .get ());
211
276
assertEquals (2 , preQuery .get ());
277
+ assertEquals (2 , preSlice .get ());
212
278
assertEquals (0 , failedFetch .get ());
213
279
assertEquals (0 , failedQuery .get ());
280
+ assertEquals (0 , failedSlice .get ());
214
281
assertEquals (2 , onQuery .get ());
215
282
assertEquals (2 , onFetch .get ());
283
+ assertEquals (2 , onSlice .get ());
216
284
assertEquals (0 , newContext .get ());
217
285
assertEquals (0 , newScrollContext .get ());
218
286
assertEquals (0 , freeContext .get ());
@@ -223,10 +291,13 @@ public void onSearchIdleReactivation() {
223
291
compositeListener .onFailedFetchPhase (ctx );
224
292
assertEquals (2 , preFetch .get ());
225
293
assertEquals (2 , preQuery .get ());
294
+ assertEquals (2 , preSlice .get ());
226
295
assertEquals (2 , failedFetch .get ());
227
296
assertEquals (0 , failedQuery .get ());
297
+ assertEquals (0 , failedSlice .get ());
228
298
assertEquals (2 , onQuery .get ());
229
299
assertEquals (2 , onFetch .get ());
300
+ assertEquals (2 , onSlice .get ());
230
301
assertEquals (0 , newContext .get ());
231
302
assertEquals (0 , newScrollContext .get ());
232
303
assertEquals (0 , freeContext .get ());
@@ -237,10 +308,30 @@ public void onSearchIdleReactivation() {
237
308
compositeListener .onFailedQueryPhase (ctx );
238
309
assertEquals (2 , preFetch .get ());
239
310
assertEquals (2 , preQuery .get ());
311
+ assertEquals (2 , preSlice .get ());
312
+ assertEquals (2 , failedFetch .get ());
313
+ assertEquals (2 , failedQuery .get ());
314
+ assertEquals (0 , failedSlice .get ());
315
+ assertEquals (2 , onQuery .get ());
316
+ assertEquals (2 , onFetch .get ());
317
+ assertEquals (2 , onSlice .get ());
318
+ assertEquals (0 , newContext .get ());
319
+ assertEquals (0 , newScrollContext .get ());
320
+ assertEquals (0 , freeContext .get ());
321
+ assertEquals (0 , freeScrollContext .get ());
322
+ assertEquals (0 , searchIdleReactivateCount .get ());
323
+ assertEquals (0 , validateSearchContext .get ());
324
+
325
+ compositeListener .onFailedSliceExecution (ctx , Collections .emptyList ());
326
+ assertEquals (2 , preFetch .get ());
327
+ assertEquals (2 , preQuery .get ());
328
+ assertEquals (2 , preSlice .get ());
240
329
assertEquals (2 , failedFetch .get ());
241
330
assertEquals (2 , failedQuery .get ());
331
+ assertEquals (2 , failedSlice .get ());
242
332
assertEquals (2 , onQuery .get ());
243
333
assertEquals (2 , onFetch .get ());
334
+ assertEquals (2 , onSlice .get ());
244
335
assertEquals (0 , newContext .get ());
245
336
assertEquals (0 , newScrollContext .get ());
246
337
assertEquals (0 , freeContext .get ());
@@ -251,10 +342,13 @@ public void onSearchIdleReactivation() {
251
342
compositeListener .onNewReaderContext (mock (ReaderContext .class ));
252
343
assertEquals (2 , preFetch .get ());
253
344
assertEquals (2 , preQuery .get ());
345
+ assertEquals (2 , preSlice .get ());
254
346
assertEquals (2 , failedFetch .get ());
255
347
assertEquals (2 , failedQuery .get ());
348
+ assertEquals (2 , failedSlice .get ());
256
349
assertEquals (2 , onQuery .get ());
257
350
assertEquals (2 , onFetch .get ());
351
+ assertEquals (2 , onSlice .get ());
258
352
assertEquals (2 , newContext .get ());
259
353
assertEquals (0 , newScrollContext .get ());
260
354
assertEquals (0 , freeContext .get ());
@@ -265,10 +359,13 @@ public void onSearchIdleReactivation() {
265
359
compositeListener .onNewScrollContext (mock (ReaderContext .class ));
266
360
assertEquals (2 , preFetch .get ());
267
361
assertEquals (2 , preQuery .get ());
362
+ assertEquals (2 , preSlice .get ());
268
363
assertEquals (2 , failedFetch .get ());
269
364
assertEquals (2 , failedQuery .get ());
365
+ assertEquals (2 , failedSlice .get ());
270
366
assertEquals (2 , onQuery .get ());
271
367
assertEquals (2 , onFetch .get ());
368
+ assertEquals (2 , onSlice .get ());
272
369
assertEquals (2 , newContext .get ());
273
370
assertEquals (2 , newScrollContext .get ());
274
371
assertEquals (0 , freeContext .get ());
@@ -279,10 +376,13 @@ public void onSearchIdleReactivation() {
279
376
compositeListener .onFreeReaderContext (mock (ReaderContext .class ));
280
377
assertEquals (2 , preFetch .get ());
281
378
assertEquals (2 , preQuery .get ());
379
+ assertEquals (2 , preSlice .get ());
282
380
assertEquals (2 , failedFetch .get ());
283
381
assertEquals (2 , failedQuery .get ());
382
+ assertEquals (2 , failedSlice .get ());
284
383
assertEquals (2 , onQuery .get ());
285
384
assertEquals (2 , onFetch .get ());
385
+ assertEquals (2 , onSlice .get ());
286
386
assertEquals (2 , newContext .get ());
287
387
assertEquals (2 , newScrollContext .get ());
288
388
assertEquals (2 , freeContext .get ());
@@ -293,10 +393,13 @@ public void onSearchIdleReactivation() {
293
393
compositeListener .onFreeScrollContext (mock (ReaderContext .class ));
294
394
assertEquals (2 , preFetch .get ());
295
395
assertEquals (2 , preQuery .get ());
396
+ assertEquals (2 , preSlice .get ());
296
397
assertEquals (2 , failedFetch .get ());
297
398
assertEquals (2 , failedQuery .get ());
399
+ assertEquals (2 , failedSlice .get ());
298
400
assertEquals (2 , onQuery .get ());
299
401
assertEquals (2 , onFetch .get ());
402
+ assertEquals (2 , onSlice .get ());
300
403
assertEquals (2 , newContext .get ());
301
404
assertEquals (2 , newScrollContext .get ());
302
405
assertEquals (2 , freeContext .get ());
@@ -307,10 +410,13 @@ public void onSearchIdleReactivation() {
307
410
compositeListener .onSearchIdleReactivation ();
308
411
assertEquals (2 , preFetch .get ());
309
412
assertEquals (2 , preQuery .get ());
413
+ assertEquals (2 , preSlice .get ());
310
414
assertEquals (2 , failedFetch .get ());
311
415
assertEquals (2 , failedQuery .get ());
416
+ assertEquals (2 , failedSlice .get ());
312
417
assertEquals (2 , onQuery .get ());
313
418
assertEquals (2 , onFetch .get ());
419
+ assertEquals (2 , onSlice .get ());
314
420
assertEquals (2 , newContext .get ());
315
421
assertEquals (2 , newScrollContext .get ());
316
422
assertEquals (2 , freeContext .get ());
0 commit comments