**Build scan:**
https://gradle-enterprise.elastic.co/s/whiwuz23mtmvq/tests/:x-pack:plugin:rollup:test/org.elasticsearch.xpack.rollup.v2.RollupActionSingleNodeTests/testCannotRollupToExistingIndex

**Reproduction line:**
`./gradlew ':x-pack:plugin:rollup:test' --tests "org.elasticsearch.xpack.rollup.v2.RollupActionSingleNodeTests.testCannotRollupToExistingIndex" -Dtests.seed=9814B01249EAC77D -Dtests.locale=en-SG -Dtests.timezone=Africa/Windhoek -Druntime.java=17`

**Applicable branches:**
main

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

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.rollup.v2.RollupActionSingleNodeTests&tests.test=testCannotRollupToExistingIndex

**Failure excerpt:**
```
org.elasticsearch.index.IndexNotFoundException: no such index [rollup-testcannotrollupwhileotherrollupinprogress-svlo]

  at __randomizedtesting.SeedInfo.seed([9814B01249EAC77D:325B86553CE92325]:0)
  at org.elasticsearch.cluster.metadata.Metadata.getIndexSafe(Metadata.java:919)
  at org.elasticsearch.cluster.metadata.MetadataDeleteIndexService.deleteIndices(MetadataDeleteIndexService.java:89)
  at org.elasticsearch.cluster.metadata.MetadataDeleteIndexService$1.execute(MetadataDeleteIndexService.java:70)
  at org.elasticsearch.cluster.service.MasterService$UnbatchedExecutor.execute(MasterService.java:515)
  at org.elasticsearch.cluster.service.MasterService.innerExecuteTasks(MasterService.java:959)
  at org.elasticsearch.cluster.service.MasterService.executeTasks(MasterService.java:929)
  at org.elasticsearch.cluster.service.MasterService.runTasks(MasterService.java:261)
  at org.elasticsearch.cluster.service.MasterService$Batcher.run(MasterService.java:165)
  at org.elasticsearch.cluster.service.TaskBatcher.runIfNotProcessed(TaskBatcher.java:110)
  at org.elasticsearch.cluster.service.TaskBatcher$BatchedTask.run(TaskBatcher.java:148)
  at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:710)
  at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:257)
  at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:223)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
  at java.lang.Thread.run(Thread.java:833)

```
x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/v2/RollupActionSingleNodeTests.java
InternalTopHits originalTopHits = (InternalTopHits) topHitsOriginalAggregations.get(j);
                    InternalTopHits rollupTopHits = (InternalTopHits) topHitsRollupAggregations.get(j);
                    SearchHit[] originalHits = originalTopHits.getHits().getHits();
                    SearchHit[] rollupHits = rollupTopHits.getHits().getHits();
                    assertEquals(originalHits.length, rollupHits.length);
                    for (int k = 0; k < originalHits.length; ++k) {
                        SearchHit originalHit = originalHits[k];
                        SearchHit rollupHit = rollupHits[k];
                        Map<String, DocumentField> originalHitDocumentFields = originalHit.getDocumentFields();
                        Map<String, DocumentField> rollupHitDocumentFields = rollupHit.getDocumentFields();
                        List<DocumentField> originalFields = originalHitDocumentFields.values().stream().toList();
                        List<DocumentField> rollupFields = rollupHitDocumentFields.values().stream().toList();
                        List<Object> originalFieldsList = originalFields.stream().flatMap(x -> x.getValues().stream()).toList();
                        List<Object> rollupFieldsList = rollupFields.stream().flatMap(x -> x.getValues().stream()).toList();
                        if (originalFieldsList.isEmpty() == false && rollupFieldsList.isEmpty() == false) {
                            
                            
                            
                            
                            originalFieldsList.forEach(field -> assertTrue(rollupFieldsList.contains(field)));
                            rollupFieldsList.forEach(field -> assertTrue(originalFieldsList.contains(field)));
                            Object originalLabelValue = originalHit.getDocumentFields().values().stream().toList().get(0).getValue();
                            Object rollupLabelValue = rollupHit.getDocumentFields().values().stream().toList().get(0).getValue();
                            Optional<Aggregation> labelAsMetric = nonTopHitsOriginalAggregations.stream()
                                .filter(agg -> agg.getName().equals("metric_" + rollupTopHits.getName()))
                                .findFirst();
                            
                            if (labelAsMetric.isPresent()) {
                                double metricValue = ((Max) labelAsMetric.get()).value();
                                assertEquals(metricValue, rollupLabelValue);