Closed
Description
Looking at this build scan from a master intake CI job:
https://scans.gradle.com/s/wqhe4ax2bx7zc/performance/execution
It looks like 2 of the ML test tasks take up 20 minutes of our non parallelized section of the build:
:x-pack:plugin:ml:qa:native-multi-node-tests:integTestRunner 12m 53.964s
:x-pack:plugin:ml:qa:ml-with-security:integTestRunner 8m 41.424s
From the same logs:
:x-pack:plugin:ml:qa:native-multi-node-tests:integTestRunner
==> Test Info: seed=BAC54799DFF31721; jvm=1; suites=22
Slow Tests Summary:
--
146.90s \| org.elasticsearch.xpack.ml.integration.DatafeedJobsRestIT
131.64s \| org.elasticsearch.xpack.ml.integration.ForecastIT
83.96s \| org.elasticsearch.xpack.ml.integration.MlUpgradeIT
71.78s \| org.elasticsearch.xpack.ml.integration.DatafeedJobsIT
63.10s \| org.elasticsearch.xpack.ml.integration.DeleteExpiredDataIT
and
:x-pack:plugin:ml:qa:ml-with-security:integTestRunner
--
==> Test Info: seed=4D0F3BB1F5019D2C; jvm=1; suites=3
==> Test Summary: 3 suites, 798 tests, 225 ignored (225 assumptions)
We should look into why these tests are so slow and ways to make them faster.
One things that sticks out is that there are both ESIntegTestCase
and ESRestTestCase
mixed in the same tasks. The former can be spread out across multiple JVMs running in parallel if we were to have a dedicated task for those.