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
assertThat(snapshotInfo.shardFailures(), empty());
    }
    public void testDeleteIndexDuringSnapshot() throws Exception {
        final String indexName = "test-idx";
        assertAcked(prepareCreate(indexName, 1, indexSettingsNoReplicas(1)));
        ensureGreen();
        indexRandomDocs(indexName, 100);
        final String repoName = "test-repo";
        createRepository(repoName, "fs");
        final String firstSnapshotName = "test-snap";
        createSnapshot(repoName, firstSnapshotName, List.of(indexName));
        final int concurrentLoops = randomIntBetween(2, 5);
        final List<Future<Void>> futures = new ArrayList<>(concurrentLoops);
        for (int i = 0; i < concurrentLoops; i++) {
            final PlainActionFuture<Void> future = PlainActionFuture.newFuture();
            futures.add(future);
            startSnapshotDeleteLoop(repoName, indexName, "test-snap-" + i, future);
        }
        Thread.sleep(200);
        logger.info("--> delete index");
        assertAcked(admin().indices().prepareDelete(indexName));
        for (Future<Void> future : futures) {
            future.get();
        }
        logger.info("--> restore snapshot 1");
        clusterAdmin().prepareRestoreSnapshot(repoName, firstSnapshotName).get();
        ensureGreen(indexName);
    }