### 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/LuceneOperator.java
private final int shardIndex;
        private final SearchContext searchContext;
        private final Weight weight;
        private final LeafReaderContext leafReaderContext;
        private BulkScorer bulkScorer;
        private int position;
        private int maxPosition;
        private Thread executingThread;
        LuceneScorer(int shardIndex, SearchContext searchContext, Weight weight, LeafReaderContext leafReaderContext) {
            this.shardIndex = shardIndex;
            this.searchContext = searchContext;
            this.weight = weight;
            this.leafReaderContext = leafReaderContext;
            reinitialize();
        }
        private void reinitialize() {
            this.executingThread = Thread.currentThread();
            try {
                this.bulkScorer = weight.bulkScorer(leafReaderContext);
            } catch (IOException e) {
                throw new UncheckedIOException(e);
            }
        }
        void scoreNextRange(LeafCollector collector, Bits acceptDocs, int numDocs) throws IOException {
            assert isDone() == false : "scorer is exhausted";
            position = bulkScorer.score(collector, acceptDocs, position, Math.min(maxPosition, position + numDocs));
        }
        LeafReaderContext leafReaderContext() {