**Build scan:**
https://gradle-enterprise.elastic.co/s/xvwrlxusnxdgu/tests/:qa:rolling-upgrade:v8.6.1%23oneThirdUpgradedTest/org.elasticsearch.upgrades.SnapshotBasedRecoveryIT/testSnapshotBasedRecovery

**Reproduction line:**
```
./gradlew ':qa:rolling-upgrade:v8.6.1#oneThirdUpgradedTest' -Dtests.class="org.elasticsearch.upgrades.SnapshotBasedRecoveryIT" -Dtests.method="testSnapshotBasedRecovery" -Dtests.seed=32151106DB58AD22 -Dtests.bwc=true -Dtests.locale=en-MT -Dtests.timezone=Asia/Colombo -Druntime.java=17
```

**Applicable branches:**
main

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

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.upgrades.SnapshotBasedRecoveryIT&tests.test=testSnapshotBasedRecovery

**Failure excerpt:**
```
java.lang.AssertionError: timed out waiting for green state for index [snapshot_based_recovery] cluster state [{
  "cluster_name" : "v8.6.1",
  "cluster_uuid" : "ETWjuovuQXC6pr6CN8pJXA",
  "version" : 391,
  "state_uuid" : "y7ss0aZLQvab9JIDk7jppg",
  "master_node" : "tsyOGVI1T5iBSTLS0zL29A",
  ...
```
qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/SnapshotBasedRecoveryIT.java
logger.info("--> not in first upgrade round, removing exclusions for [{}]", indexName);
                    updateIndexSettings(indexName, Settings.builder().putNull("index.routing.allocation.exclude._id"));
                    logger.info("--> done removing exclusions for [{}]", indexName);
                }
                
                logger.info("--> dropping replicas from [{}]", indexName);
                updateIndexSettingsPermittingSlowlogDeprecationWarning(
                    indexName,
                    Settings.builder().put(IndexMetadata.INDEX_NUMBER_OF_REPLICAS_SETTING.getKey(), 0)
                );
                logger.info("--> finished dropping replicas from [{}], adding them back", indexName);
                updateIndexSettingsPermittingSlowlogDeprecationWarning(
                    indexName,
                    Settings.builder().put(IndexMetadata.INDEX_NUMBER_OF_REPLICAS_SETTING.getKey(), 1)
                );
                logger.info("--> finished adding replicas from [{}]", indexName);
                try {
                    ensureGreen(indexName);
                } catch (AssertionError e) {
                    logAllocationExplain();
                    throw e;
                }
                assertMatchAllReturnsAllDocuments(indexName, numDocs);
                assertMatchQueryReturnsAllDocuments(indexName, numDocs);
            }
            default -> throw new IllegalStateException("unknown type " + CLUSTER_TYPE);
        }
    }
    private void logAllocationExplain() throws Exception {