### CI Link

https://gradle-enterprise.elastic.co/s/xws6gmgwdwnmm/tests/overview?outcome=failed

### Repro line

./gradlew ':x-pack:plugin:esql:test' --tests "org.elasticsearch.xpack.esql.CsvTests" -Dtests.method="test {rename.RenameProjectEval}" -Dtests.seed=F32BCA1B870438F -Dtests.locale=ar-LY -Dtests.timezone=UTC -Druntime.java=21	

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

```
java.lang.AssertionError: java.lang.IllegalStateException: can't release already released block [IntVectorBlock[vector=IntArrayVector[positions=3, values=[2, 5, 4]]]]
```
x-pack/plugin/esql/compute/src/test/java/org/elasticsearch/compute/operator/ProjectOperatorTests.java
var projection = new ProjectOperator(randomProjection);
        projection.addInput(page);
        var out = projection.getOutput();
        assertThat(randomProjection.size(), lessThanOrEqualTo(out.getBlockCount()));
        Set<Block> blks = new HashSet<>();
        for (int i = 0; i < out.getBlockCount(); i++) {
            var block = out.<IntBlock>getBlock(i);
            assertEquals(block, page.getBlock(randomProjection.get(i)));
            blks.add(block);
        }
        
        Releasables.closeWhileHandlingException(blks.toArray(new Block[0]));
    }
    private List<Integer> randomProjection(int size) {
        return randomList(size, () -> randomIntBetween(0, size - 1));
    }
    @Override
    protected SourceOperator simpleInput(BlockFactory blockFactory, int end) {
        return new TupleBlockSourceOperator(blockFactory, LongStream.range(0, end).mapToObj(l -> Tuple.tuple(l, end - l)));
    }
    @Override
    protected Operator.OperatorFactory simple(BigArrays bigArrays) {
        return new ProjectOperator.ProjectOperatorFactory(Arrays.asList(1));
    }
    @Override
    protected String expectedDescriptionOfSimple() {
        return "ProjectOperator[projection = [1]]";
    }
    @Override
    protected String expectedToStringOfSimple() {