It looks like this suite timed out because a node of the backing cluster exploded. Looks like an assertion was tripped.

```
» [2023-10-09T21:16:07,555][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [v8.8.2-2] fatal error in thread [elasticsearch[v8.8.2-2][clusterApplierService#updateTask][T#1]], exiting java.lang.AssertionError: provided source [{"_doc":{"_data_stream_timestamp":{"enabled":true},"_source":{"mode":"synthetic"},"properties":{"@timestamp":{"type":"date"},"key":{"type":"keyword","time_series_dimension":true}}}}] differs from mapping [{"_doc":{"_data_stream_timestamp":{"enabled":true},"properties":{"@timestamp":{"type":"date"},"key":{"type":"keyword","time_series_dimension":true}}}}]
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.index.mapper.DocumentMapper.<init>(DocumentMapper.java:42)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.index.mapper.MapperService.newDocumentMapper(MapperService.java:376)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.index.mapper.MapperService.updateMapping(MapperService.java:285)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.index.IndexService.updateMapping(IndexService.java:700)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.indices.cluster.IndicesClusterStateService.createIndicesAndUpdateShards(IndicesClusterStateService.java:493)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.indices.cluster.IndicesClusterStateService.applyClusterState(IndicesClusterStateService.java:250)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:536)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:522)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(ClusterApplierService.java:495)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.cluster.service.ClusterApplierService.runTask(ClusterApplierService.java:426)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run(ClusterApplierService.java:154)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:916)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:217)
»  	at org.elasticsearch.server@8.8.2/org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:183)
»  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
»  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
»  	at java.base/java.lang.Thread.run(Thread.java:1623)
»  
»  
»  ERROR: Elasticsearch exited unexpectedly
```

**Build scan:**
https://gradle-enterprise.elastic.co/s/bte5oskoqsjl6/tests/:qa:mixed-cluster:v8.8.2%23mixedClusterTest/org.elasticsearch.backwards.MixedClusterClientYamlTestSuiteIT
**Reproduction line:**
```
null
```

**Applicable branches:**
main

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

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.backwards.MixedClusterClientYamlTestSuiteIT&tests.test=classMethod
**Failure excerpt:**
```
java.lang.Exception: Suite timeout exceeded (>= 2400000 msec).

  at __randomizedtesting.SeedInfo.seed([E230389699262455]:0)

```
server/src/test/java/org/elasticsearch/index/query/SearchExecutionContextTests.java
assertTrue(context.isMultiField("pig.subfield"));
        assertFalse(context.isMultiField("cat.subfield"));
        assertTrue(mappingLookup.isMultiField("cat.subfield"));
    }
    public void testSyntheticSourceSearchLookup() throws IOException {
        
        SourceFieldMapper sourceMapper = new SourceFieldMapper.Builder(null, IndexVersion.current()).setSynthetic().build();
        RootObjectMapper root = new RootObjectMapper.Builder("_doc", Explicit.IMPLICIT_TRUE).add(
            new KeywordFieldMapper.Builder("cat", IndexVersion.current()).ignoreAbove(100)
        ).build(MapperBuilderContext.root(true, false));
        Mapping mapping = new Mapping(root, new MetadataFieldMapper[] { sourceMapper }, Map.of());
        MappingLookup lookup = MappingLookup.fromMapping(mapping);
        SearchExecutionContext sec = createSearchExecutionContext("index", "", lookup, Map.of());
        assertTrue(sec.isSourceSynthetic());
        MemoryIndex mi = new MemoryIndex();
        mi.addField(new KeywordField("cat", "meow", Field.Store.YES), null);
        LeafReaderContext leafReaderContext = mi.createSearcher().getIndexReader().leaves().get(0);
        SearchLookup searchLookup = sec.lookup();
        Source source = searchLookup.getSource(leafReaderContext, 0);
        assertEquals(1, source.source().size());
        assertEquals("meow", source.source().get("cat"));
    }
    public static SearchExecutionContext createSearchExecutionContext(String indexUuid, String clusterAlias) {
        return createSearchExecutionContext(indexUuid, clusterAlias, MappingLookup.EMPTY, Map.of());
    }
    private static SearchExecutionContext createSearchExecutionContext(RuntimeField... fieldTypes) {
        return createSearchExecutionContext(
            "uuid",
            null,
            createMappingLookup(Collections.emptyList(), List.of(fieldTypes)),