### CI Link

https://gradle-enterprise.elastic.co/s/sa7kgcpbjsuyo

### Repro line

./gradlew ':x-pack:plugin:esql:internalClusterTest' --tests "org.elasticsearch.xpack.esql.action.EsqlActionTaskIT.testCancelRead" -Dtests.seed=A10FD59C7183AD95 -Dbuild.snapshot=false -Dtests.jvm.argline="-Dbuild.snapshot=false" -Dtests.locale=ga-IE -Dtests.timezone=Europe/Stockholm -Druntime.java=20

### Does it reproduce?

No

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

```
org.elasticsearch.xpack.esql.action.EsqlActionTaskIT > testCancelRead FAILED
    java.lang.AssertionError: 
    Expected: a collection with size <2>
         but: collection size was <0>
        at __randomizedtesting.SeedInfo.seed([A10FD59C7183AD95:34226718C99014F4]:0)
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
        at org.junit.Assert.assertThat(Assert.java:956)
        at org.junit.Assert.assertThat(Assert.java:923)
        at org.elasticsearch.xpack.esql.action.EsqlActionTaskIT.lambda$getTasksStarting$2(EsqlActionTaskIT.java:229)
        at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:1196)
        at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:1169)
        at org.elasticsearch.xpack.esql.action.EsqlActionTaskIT.getTasksStarting(EsqlActionTaskIT.java:221)
        at org.elasticsearch.xpack.esql.action.EsqlActionTaskIT.testCancelRead(EsqlActionTaskIT.java:167)
```
x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/lucene/LuceneSliceQueue.java
}
    @Nullable
    public LuceneSlice nextSlice() {
        return slices.poll();
    }
    public int totalSlices() {
        return totalSlices;
    }
    public static LuceneSliceQueue create(
        List<SearchContext> searchContexts,
        Function<SearchContext, Weight> weightFunction,
        DataPartitioning dataPartitioning,
        int taskConcurrency
    ) {
        final List<LuceneSlice> slices = new ArrayList<>();
        for (int shardIndex = 0; shardIndex < searchContexts.size(); shardIndex++) {
            final SearchContext searchContext = searchContexts.get(shardIndex);
            final List<LeafReaderContext> leafContexts = searchContext.searcher().getLeafContexts();
            List<List<PartialLeafReaderContext>> groups = switch (dataPartitioning) {
                case SHARD -> Collections.singletonList(leafContexts.stream().map(PartialLeafReaderContext::new).toList());
                case SEGMENT -> segmentSlices(leafContexts);
                case DOC -> docSlices(searchContext.searcher().getIndexReader(), taskConcurrency);
            };
            final Weight[] cachedWeight = new Weight[1];
            final Supplier<Weight> weight = () -> {
                if (cachedWeight[0] == null) {
                    cachedWeight[0] = weightFunction.apply(searchContext);
                }
                return cachedWeight[0];
            };