**Build scan:**
https://gradle-enterprise.elastic.co/s/dxnvahurwubcu/tests/:server:internalClusterTest/org.elasticsearch.action.admin.indices.create.CreateIndexIT/testCreateAndDeleteIndexConcurrently

**Reproduction line:**
```
./gradlew ':server:internalClusterTest' --tests "org.elasticsearch.action.admin.indices.create.CreateIndexIT.testCreateAndDeleteIndexConcurrently" -Dtests.seed=3ED3285ADA7A0152 -Dtests.locale=is -Dtests.timezone=Africa/Tunis -Druntime.java=20
```

**Applicable branches:**
main, 8.8

**Reproduces locally?:**
No

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.action.admin.indices.create.CreateIndexIT&tests.test=testCreateAndDeleteIndexConcurrently

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

  at __randomizedtesting.SeedInfo.seed([3ED3285ADA7A0152]:0)

```
server/src/main/java/org/elasticsearch/indices/recovery/RecoverySourceHandler.java
} else {
                    logger.trace("recovery [phase1]: recovering [{}] from snapshot, does not exist in remote", md.name());
                }
            }
            final long totalSize = shardRecoveryPlan.getTotalSize();
            final long existingTotalSize = shardRecoveryPlan.getExistingSize();
            logger.trace(
                """
                    recovery [phase1]: total_size[{}], \
                    recovering_files [{}] with total_size [{}] from peer, \
                    recovering_files [{}] with total_size [{}] from snapshot, \
                    reusing_files [{}] with total_size [{}]""",
                ByteSizeValue.ofBytes(totalSize),
                shardRecoveryPlan.getSourceFilesToRecover().size(),
                ByteSizeValue.ofBytes(shardRecoveryPlan.getSourceFilesToRecover().stream().mapToLong(StoreFileMetadata::length).sum()),
                shardRecoveryPlan.getSnapshotFilesToRecover().size(),
                ByteSizeValue.ofBytes(
                    shardRecoveryPlan.getSnapshotFilesToRecover()
                        .snapshotFiles()
                        .stream()
                        .mapToLong(BlobStoreIndexShardSnapshot.FileInfo::length)
                        .sum()
                ),
                shardRecoveryPlan.getFilesPresentInTarget().size(),
                ByteSizeValue.ofBytes(existingTotalSize)
            );
        }
        new FileBasedRecoveryContext(store, stopWatch, shardRecoveryPlan).run(listener);
    }
    private class FileBasedRecoveryContext {