### CI Link

https://gradle-enterprise.elastic.co/s/6wrucnjdgjjdm https://gradle-enterprise.elastic.co/s/5c56fglmqlk4s https://gradle-enterprise.elastic.co/s/vwzb3ppw7p4ww https://gradle-enterprise.elastic.co/s/tqamvqdpkzzi4 https://gradle-enterprise.elastic.co/s/rniwyfcmjmkyi https://gradle-enterprise.elastic.co/s/k3xxqjli6mxye

### Repro line

Not provided

### Does it reproduce?

No

### Applicable branches

main

### Failure history

-

### Failure excerpt

Seemingly unrelated build tasks fail with "Unable to delete file" similar to

```
...

build complete, generating: C:\Users\jenkins\workspace\platform-support\253\build\253.tar.bz2

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file 'C:\Users\jenkins\workspace\platform-support\253\x-pack\plugin\security\qa\basic-enable-security\build.gradle' line: 67

* What went wrong:
Execution failed for task ':x-pack:plugin:security:qa:basic-enable-security:javaRestTestWithSecurityEnabled'.
> java.io.IOException: Unable to delete file 'C:\Users\jenkins\workspace\platform-support\253\x-pack\plugin\security\qa\basic-enable-security\build\testclusters\javaRestTest-0\config'

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Failed to stop service 'reaper'.
> org.gradle.api.GradleException: Reaper process failed. Check log at C:\Users\jenkins\workspace\platform-support\253\.gradle\reaper\build-6028\error.log for details

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 2h 16m 17s
3630 actionable tasks: 3402 executed, 228 from cache
```

Note that the console output usually presents a different exception but these are warnings and probably not the cause of the test failure.

All of the failed builds failed to delete some config in paths like `C:\Users\jenkins\workspace\platform-support\253\x-pack\plugin\security\qa\basic-enable-security\build\testclusters\javaRestTest-0\config`
build-tools/src/main/java/org/elasticsearch/gradle/testclusters/ElasticsearchNode.java
baseConfig.put("cluster.routing.allocation.disk.watermark.high", "1b");
        // increase script compilation limit since tests can rapid-fire script compilations
        if (getVersion().onOrAfter("7.9.0")) {
            baseConfig.put("script.disable_max_compilations_rate", "true");
        } else {
            baseConfig.put("script.max_compilations_rate", "2048/1m");
        }
        if (getVersion().getMajor() >= 6) {
            baseConfig.put("cluster.routing.allocation.disk.watermark.flood_stage", "1b");
        }
        // Temporarily disable the real memory usage circuit breaker. It depends on real memory usage which we have no full control
        // over and the REST client will not retry on circuit breaking exceptions yet (see #31986 for details). Once the REST client
        // can retry on circuit breaking exceptions, we can revert again to the default configuration.
        if (getVersion().getMajor() >= 7) {
            baseConfig.put("indices.breaker.total.use_real_memory", "false");
        }
        // Don't wait for state, just start up quickly. This will also allow new and old nodes in the BWC case to become the master
        baseConfig.put("discovery.initial_state_timeout", "0s");
        if (getVersion().getMajor() >= 8) {
            baseConfig.put("cluster.service.slow_task_logging_threshold", "5s");
            baseConfig.put("cluster.service.slow_master_task_logging_threshold", "5s");
        }
        baseConfig.put("action.destructive_requires_name", "false");
        HashSet<String> overriden = new HashSet<>(baseConfig.keySet());
        overriden.retainAll(settings.keySet());
        overriden.removeAll(OVERRIDABLE_SETTINGS);
        if (overriden.isEmpty() == false) {
            throw new IllegalArgumentException(
                "Testclusters does not allow the following settings to be changed:" + overriden + " for " + this
            );