**Build scan:**
https://gradle-enterprise.elastic.co/s/dbmwpj3qke4vo/tests/:server:internalClusterTest/org.elasticsearch.snapshots.CloneSnapshotIT/testRemoveFailedCloneFromCSWithQueuedSnapshotInProgress

**Reproduction line:**
`./gradlew ':server:internalClusterTest' --tests "org.elasticsearch.snapshots.CloneSnapshotIT.testRemoveFailedCloneFromCSWithQueuedSnapshotInProgress" -Dtests.seed=DA62EE933D04B4AC -Dtests.locale=en-CA -Dtests.timezone=Etc/GMT+3 -Druntime.java=17`

**Applicable branches:**
main

**Reproduces locally?:**
No

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

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

  at __randomizedtesting.SeedInfo.seed([DA62EE933D04B4AC]:0)

```
server/src/internalClusterTest/java/org/elasticsearch/snapshots/CloneSnapshotIT.java
internalCluster().startDataOnlyNode();
        final String repoName = "repo-name";
        final Path repoPath = randomRepoPath();
        createRepository(repoName, "fs", repoPath);
        final boolean useBwCFormat = randomBoolean();
        if (useBwCFormat) {
            initWithSnapshotVersion(repoName, repoPath, SnapshotsService.OLD_SNAPSHOT_FORMAT);
        }
        final String indexName = "test-index";
        createIndexWithRandomDocs(indexName, randomIntBetween(5, 10));
        final String sourceSnapshot = "source-snapshot";
        final SnapshotInfo sourceSnapshotInfo = createFullSnapshot(repoName, sourceSnapshot);
        final BlobStoreRepository repository = getRepositoryOnMaster(repoName);
        final RepositoryData repositoryData = getRepositoryData(repoName);
        final IndexId indexId = repositoryData.resolveIndexId(indexName);
        final int shardId = 0;
        final RepositoryShardId repositoryShardId = new RepositoryShardId(indexId, shardId);
        final SnapshotId targetSnapshotId = new SnapshotId("target-snapshot", UUIDs.randomBase64UUID(random()));
        final ShardGeneration currentShardGen;
        if (useBwCFormat) {
            currentShardGen = null;
        } else {
            currentShardGen = repositoryData.shardGenerations().getShardGen(indexId, shardId);
        }
        final ShardSnapshotResult shardSnapshotResult = PlainActionFuture.get(
            f -> repository.cloneShardSnapshot(sourceSnapshotInfo.snapshotId(), targetSnapshotId, repositoryShardId, currentShardGen, f)
        );
        final ShardGeneration newShardGeneration = shardSnapshotResult.getGeneration();
        if (useBwCFormat) {
            assertEquals(newShardGeneration, new ShardGeneration(1L));