There's a windows AccessDeniedException buried in here somewhere but I'm not sure if that's the root cause or not.

**Build scan:**
https://gradle-enterprise.elastic.co/s/ua7fjthhwhydq/tests/:server:internalClusterTest/org.elasticsearch.snapshots.DedicatedClusterSnapshotRestoreIT/testDeleteIndexDuringSnapshot

**Reproduction line:**
`gradlew ':server:internalClusterTest' --tests "org.elasticsearch.snapshots.DedicatedClusterSnapshotRestoreIT.testDeleteIndexDuringSnapshot" -Dtests.seed=205E4FD38CD27088 -Dtests.locale=bg-BG -Dtests.timezone=Africa/Kinshasa -Druntime.java=18`

**Applicable branches:**
master

**Reproduces locally?:**
Didn't try

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.snapshots.DedicatedClusterSnapshotRestoreIT&tests.test=testDeleteIndexDuringSnapshot

**Failure excerpt:**
```
java.lang.Exception: Test abandoned because suite timeout was reached.

  at __randomizedtesting.SeedInfo.seed([205E4FD38CD27088]:0)

```
server/src/internalClusterTest/java/org/elasticsearch/snapshots/DedicatedClusterSnapshotRestoreIT.java
createRepository(repoName, "fs");
        
        final int snapshotCount = randomIntBetween(10, 25);
        final List<String> snapshotNames = createNSnapshots(repoName, snapshotCount);
        
        final List<ActionFuture<AcknowledgedResponse>> deleteFutures = new ArrayList<>(snapshotCount);
        final ActionFuture<AcknowledgedResponse> deleteRepoFuture = clusterAdmin().prepareDeleteRepository(repoName).execute();
        for (String snapshotName : snapshotNames) {
            deleteFutures.add(clusterAdmin().prepareDeleteSnapshot(repoName, snapshotName).execute());
        }
        try {
            assertAcked(deleteRepoFuture.actionGet());
        } catch (Exception e) {
            assertThat(
                e.getMessage(),
                containsString(
                    "[test-repo] trying to modify or unregister repository that is currently used (snapshot deletion is in progress)"
                )
            );
        }
        for (ActionFuture<AcknowledgedResponse> deleteFuture : deleteFutures) {
            try {
                assertAcked(deleteFuture.actionGet());
            } catch (RepositoryException e) {
                assertThat(
                    e.getMessage(),
                    either(containsString("[test-repo] repository is not in started state")).or(containsString("[test-repo] missing"))
                );
            }
        }