**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
}, onFailure));
        
        final long trimAboveSeqNo = startingSeqNo - 1;
        sendSnapshotStep.addListener(ActionListener.wrap(r -> {
            sendSnapshotStepResult.set(r);
            finalizeRecovery(r.targetLocalCheckpoint, trimAboveSeqNo, finalizeStep);
        }, onFailure));
        finalizeStep.addListener(ActionListener.wrap(r -> {
            final long phase1ThrottlingWaitTime = 0L; 
            final SendSnapshotResult sendSnapshotResult = sendSnapshotStepResult.get();
            final SendFileResult sendFileResult = sendFileStepResult.get();
            final RecoveryResponse response = new RecoveryResponse(
                sendFileResult.phase1FileNames,
                sendFileResult.phase1FileSizes,
                sendFileResult.phase1ExistingFileNames,
                sendFileResult.phase1ExistingFileSizes,
                sendFileResult.totalSize,
                sendFileResult.existingTotalSize,
                sendFileResult.took.millis(),
                phase1ThrottlingWaitTime,
                prepareEngineTimeMillisRef.get(),
                sendSnapshotResult.sentOperations,
                sendSnapshotResult.tookTime.millis()
            );
            try {
                future.onResponse(response);
            } finally {
                IOUtils.close(resources);
            }
        }, onFailure));