### CI Link

https://gradle-enterprise.elastic.co/s/ou2sap2dhy3q2/tests/:server:internalClusterTest/org.elasticsearch.snapshots.SharedClusterSnapshotRestoreIT/testDataFileFailureDuringSnapshot

### Repro line

./gradlew ':server:internalClusterTest' --tests "org.elasticsearch.snapshots.SharedClusterSnapshotRestoreIT.testDataFileFailureDuringSnapshot" -Dtests.seed=37B64CEE1DCEACEB -Dtests.locale=uk -Dtests.timezone=Africa/Lusaka -Druntime.java=17

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

```
java.lang.Exception: Test abandoned because suite timeout was reached. 
    at __randomizedtesting.SeedInfo.seed([37B64CEE1DCEACEB]:0)
```
server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java
}
                logger.trace("[{}] initializing repository generation in cluster state", metadata.name());
                repoDataInitialized = new ListenableActionFuture<>();
                repoDataInitialized.addListener(listener);
                final Consumer<Exception> onFailure = e -> {
                    logger.warn(
                        () -> mat("[%s] Exception when initializing repository generation in cluster state", metadata.name()),
                        e
                    );
                    final ActionListener<RepositoryData> ingListener;
                    synchronized (BlobStoreRepository.this) {
                        ingListener = repoDataInitialized;
                        repoDataInitialized = null;
                    }
                    ingListener.onFailure(e);
                };
                threadPool.generic()
                    .execute(
                        ActionRunnable.wrap(
                            ActionListener.wrap(
                                repoData -> submitUnbatchedTask(
                                    "set initial safe repository generation [" + metadata.name() + "][" + repoData.getGenId() + "]",
                                    new ClusterStateUpdateTask() {
                                        @Override
                                        public ClusterState execute(ClusterState State) {
                                            RepositoryMetadata metadata = getRepoMetadata(State);
                                            // 
                                            // 
                                            // 
                                            //