SearchServiceTests.testIsParallelCollectionSupportedForResults fails intermittently

```
12:37:10 org.elasticsearch.search.SearchServiceTests > testIsParallelCollectionSupportedForResults FAILED
12:37:10     java.lang.AssertionError
12:37:10         at __randomizedtesting.SeedInfo.seed([4140C168DE8FB0BB:771A78D5E4B36180]:0)
12:37:10         at org.junit.Assert.fail(Assert.java:86)
12:37:10         at org.junit.Assert.assertTrue(Assert.java:41)
12:37:10         at org.junit.Assert.assertFalse(Assert.java:64)
12:37:10         at org.junit.Assert.assertFalse(Assert.java:74)
12:37:10         at org.elasticsearch.search.SearchServiceTests.testIsParallelCollectionSupportedForResults(SearchServiceTests.java:2096)
```

```
./gradlew ':server:test' --tests "org.elasticsearch.search.SearchServiceTests.testIsParallelCollectionSupportedForResults" -Dtests.seed=4140C168DE8FB0BB -Dtests.locale=es-SV -Dtests.timezone=Africa/Banjul -Druntime.java=20
```
server/src/test/java/org/elasticsearch/search/SearchServiceTests.java
service.freeReaderContext(searchPhaseResult.getContextId());
                    latch3.countDown();
                }
            }
            @Override
            public void onFailure(Exception e) {
                assertThat(e, is(instanceOf(TaskCancelledException.class)));
                assertThat(e.getMessage(), is("task cancelled [simulated]"));
                assertThat(((TaskCancelledException) e).status(), is(RestStatus.BAD_REQUEST));
                assertThat(searchContextCreated.get(), is(false));
                latch3.countDown();
            }
        });
        latch3.await();
        searchContextCreated.set(false);
        CountDownLatch latch4 = new CountDownLatch(1);
        service.executeDfsPhase(request, task, new ActionListener<>() {
            @Override
            public void onResponse(SearchPhaseResult searchPhaseResult) {
                try {
                    fail("Search not cancelled early");
                } finally {
                    service.freeReaderContext(searchPhaseResult.getContextId());
                    latch4.countDown();
                }
            }
            @Override
            public void onFailure(Exception e) {
                assertThat(e, is(instanceOf(TaskCancelledException.class)));
                assertThat(e.getMessage(), is("task cancelled [simulated]"));