### CI Link

https://gradle-enterprise.elastic.co/s/pzjicoqh7nuhq

### Repro line

./gradlew ':server:internalClusterTest' --tests "org.elasticsearch.snapshots.BlobStoreIncrementalityIT.testRecordCorrectSegmentCountsWithBackgroundMerges" -Dtests.seed=DEA1040A4A18200C -Dtests.locale=ar-KW -Dtests.timezone=Etc/Universal -Druntime.java=17

### Does it reproduce?

Yes

### Applicable branches

main, 8.4

### Failure history

First time it fails in the last 7 days: https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Bucharest&tests.container=org.elasticsearch.snapshots.BlobStoreIncrementalityIT&tests.test=testRecordCorrectSegmentCountsWithBackgroundMerges

### Failure excerpt

```
org.elasticsearch.snapshots.BlobStoreIncrementalityIT > testRecordCorrectSegmentCountsWithBackgroundMerges FAILED
    java.lang.AssertionError: 
    Expected: a value less than <3L>
         but: <3L> was equal to <3L>
        at __randomizedtesting.SeedInfo.seed([DEA1040A4A18200C:C81912C0892C8B7B]:0)
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
        at org.junit.Assert.assertThat(Assert.java:956)
        at org.junit.Assert.assertThat(Assert.java:923)
        at org.elasticsearch.snapshots.BlobStoreIncrementalityIT.lambda$testRecordCorrectSegmentCountsWithBackgroundMerges$0(BlobStoreIncrementalityIT.java:236)
        at org.elasticsearch.test.ESTestCase.assertBusy(ESTestCase.java:1104)
        at org.elasticsearch.snapshots.BlobStoreIncrementalityIT.testRecordCorrectSegmentCountsWithBackgroundMerges(BlobStoreIncrementalityIT.java:234)
```
server/src/internalClusterTest/java/org/elasticsearch/snapshots/BlobStoreIncrementalityIT.java
assertThat(client().admin().indices().prepareDelete(index).get().isAcknowledged(), is(true));
    }
    private void assertTwoIdenticalShardSnapshots(String repo, String indexName, String snapshot1, String snapshot2) {
        logger.info("--> asserting that snapshots [{}] and [{}] are referring to the same files in the repository", snapshot1, snapshot2);
        final SnapshotStats firstSnapshotShardStatus = getStats(repo, snapshot1).getIndices().get(indexName).getShards().get(0).getStats();
        final int totalFilesInShard = firstSnapshotShardStatus.getTotalFileCount();
        assertThat(totalFilesInShard, greaterThan(0));
        final SnapshotStats secondSnapshotShardStatus = getStats(repo, snapshot2).getIndices().get(indexName).getShards().get(0).getStats();
        assertThat(secondSnapshotShardStatus.getTotalFileCount(), is(totalFilesInShard));
        assertThat(secondSnapshotShardStatus.getIncrementalFileCount(), is(0));
    }
    private SnapshotStatus getStats(String repository, String snapshot) {
        return client().admin().cluster().prepareSnapshotStatus(repository).setSnapshots(snapshot).get().getSnapshots().get(0);
    }
    private void ensureRestoreSingleShardSuccessfully(String repo, String indexName, String snapshot, String indexSuffix) {
        logger.info("--> restoring [{}]", snapshot);
        final RestoreSnapshotResponse restoreSnapshotResponse = client().admin()
            .cluster()
            .prepareRestoreSnapshot(repo, snapshot)
            .setIndices(indexName)
            .setRenamePattern("(.+)")
            .setRenameReplacement("$1" + indexSuffix)
            .setWaitForCompletion(true)
            .get();
        final RestoreInfo restoreInfo = restoreSnapshotResponse.getRestoreInfo();
        assertThat(restoreInfo.totalShards(), is(1));
        assertThat(restoreInfo.failedShards(), is(0));
    }
}