There have been two instances of this today (both in PR builds) that blew up due to an OOME.

**Build scan:**
https://gradle-enterprise.elastic.co/s/ryfsljqpbyjlm/tests/:x-pack:plugin:ml:internalClusterTest/org.elasticsearch.xpack.ml.integration.MlDistributedFailureIT/testClusterWithTwoMlNodes_StopsDatafeed_GivenJobFailsOnReassign

**Reproduction line:**
`./gradlew ':x-pack:plugin:ml:internalClusterTest' --tests "org.elasticsearch.xpack.ml.integration.MlDistributedFailureIT.testClusterWithTwoMlNodes_StopsDatafeed_GivenJobFailsOnReassign" -Dtests.seed=A3E13461A939BDF6 -Dtests.locale=ar-IQ -Dtests.timezone=America/Porto_Velho -Druntime.java=17`

**Applicable branches:**
master

**Reproduces locally?:**
No

**Failure history:**
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.ml.integration.MlDistributedFailureIT&tests.test=testClusterWithTwoMlNodes_StopsDatafeed_GivenJobFailsOnReassign

**Failure excerpt:**
```
java.lang.Exception: Test abandoned because suite timeout was reached.

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

```
x-pack/plugin/ilm/src/main/java/org/elasticsearch/xpack/ilm/IndexLifecycle.java
);
        snapshotLifecycleService.get().init();
        snapshotRetentionService.set(
            new SnapshotRetentionService(
                settings,
                () -> new SnapshotRetentionTask(client, clusterService, System::nanoTime, snapshotHistoryStore.get()),
                getClock()
            )
        );
        snapshotRetentionService.get().init(clusterService);
        components.addAll(Arrays.asList(snapshotLifecycleService.get(), snapshotHistoryStore.get(), snapshotRetentionService.get()));
        ilmHealthIndicatorService.set(new IlmHealthIndicatorService(clusterService));
        slmHealthIndicatorService.set(new SlmHealthIndicatorService(clusterService));
        ILMImmutableStateHandlerProvider.registerHandlers(
            new ImmutableLifecycleAction(xContentRegistry, client, XPackPlugin.getSharedLicenseState())
        );
        return components;
    }
    @Override
    public List<Entry> getNamedWriteables() {
        return Collections.emptyList();
    }
    @Override
    public List<NamedXContentRegistry.Entry> getNamedXContent() {
        return NAMED_X_CONTENT_ENTRIES;
    }
    private static List<NamedXContentRegistry.Entry> xContentEntries() {
        List<NamedXContentRegistry.Entry> entries = new ArrayList<>(
            Arrays.asList(