**Build scan:**
https://gradle-enterprise.elastic.co/s/5q2ukbpqbhz7i/tests/:x-pack:plugin:snapshot-repo-test-kit:internalClusterTest/org.elasticsearch.repositories.blobstore.testkit.RepositoryAnalysisSuccessIT/testRepositoryAnalysis

**Reproduction line:**
```
./gradlew ':x-pack:plugin:snapshot-repo-test-kit:internalClusterTest' --tests "org.elasticsearch.repositories.blobstore.testkit.RepositoryAnalysisSuccessIT.testRepositoryAnalysis" -Dtests.seed=BE53761FA83A5950 -Dtests.locale=ca -Dtests.timezone=America/Port-au-Prince -Druntime.java=20
```

**Applicable branches:**
main

**Reproduces locally?:**
Didn't try

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.repositories.blobstore.testkit.RepositoryAnalysisSuccessIT&tests.test=testRepositoryAnalysis

**Failure excerpt:**
```
org.elasticsearch.repositories.RepositoryVerificationException: [test-repo] analysis failed, you may need to manually remove [temp-analysis-0Fi4UgK2T72QJxKdRInE2Q]

  at __randomizedtesting.SeedInfo.seed([BE53761FA83A5950:476ED77176A16AB9]:0)

  Caused by: org.elasticsearch.repositories.RepositoryVerificationException: [test-repo] register [test-register-EZnfK-0gTm-NSGWxRGkMzw] should have value [3] but instead had value [OptionalLong.empty]


```
x-pack/plugin/snapshot-repo-test-kit/src/internalClusterTest/java/org/elasticsearch/repositories/blobstore/testkit/RepositoryAnalysisSuccessIT.java
private final Semaphore writeSemaphore;
        private final int maxBlobCount;
        private final long maxBlobSize;
        private final long maxTotalBlobSize;
        private final Map<String, byte[]> blobs = ConcurrentCollections.newConcurrentMap();
        private final AtomicLong totalBytesWritten = new AtomicLong();
        private final Map<String, AtomicLong> registers = ConcurrentCollections.newConcurrentMap();
        private final AtomicBoolean firstRegisterRead = new AtomicBoolean(true);
        AssertingBlobContainer(
            BlobPath path,
            Consumer<AssertingBlobContainer> deleteContainer,
            Semaphore writeSemaphore,
            int maxBlobCount,
            long maxBlobSize,
            long maxTotalBlobSize
        ) {
            this.path = path;
            this.deleteContainer = deleteContainer;
            this.writeSemaphore = writeSemaphore;
            this.maxBlobCount = maxBlobCount;
            this.maxBlobSize = maxBlobSize;
            this.maxTotalBlobSize = maxTotalBlobSize;
        }
        @Override
        public BlobPath path() {
            return path;
        }
        @Override
        public boolean blobExists(String blobName) {
            return blobs.containsKey(blobName);