From 1371101b505438350623d5209098d3efabeb9419 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Mon, 8 Sep 2025 11:07:18 -0400 Subject: [PATCH 1/2] =?UTF-8?q?Fixes=20Failing=20test:=20Plugin=20Function?= =?UTF-8?q?al=20Tests.x-pack/platform/test/plugin=5Fapi=5Fintegration/test?= =?UTF-8?q?=5Fsuites/task=5Fmanager/migrations=C2=B7ts=20-=20task=5Fmanage?= =?UTF-8?q?r=20migrations=208.8.0=20adds=20UUIDs=20to=20all=20alerts=20(#2?= =?UTF-8?q?34189)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://github.com/elastic/kibana/issues/233770 ## Summary Added some debug logging to the task manager migrations to verify that the 8.8.0 migrations are being applied. Added a retry so the test will wait a little longer for the migration to be complete and the task instance to be updated with the UUID. Flaky test runner: - https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/9299 - https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/9298 --------- Co-authored-by: Elastic Machine (cherry picked from commit 0552314bd6734ac51a6c5431ee66fddf58b44688) # Conflicts: # x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts --- .../test_suites/task_manager/migrations.ts | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts b/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts index 5338571852136..47e583dd6d0b1 100644 --- a/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts +++ b/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts @@ -5,7 +5,7 @@ * 2.0. */ -import expect from '@kbn/expect'; +import expect from '@kbn/expect/expect'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { TransportResult } from '@elastic/elasticsearch'; import { @@ -19,6 +19,7 @@ import type { RuleTaskState, WrappedLifecycleRuleState } from '@kbn/alerting-sta import { FtrProviderContext } from '../../../common/ftr_provider_context'; export default function createGetTests({ getService }: FtrProviderContext) { + const retry = getService('retry'); const es = getService('es'); const esArchiver = getService('esArchiver'); const ALERT_ID = '0359d7fcc04da9878ee9aadbda38ba55'; @@ -195,35 +196,37 @@ export default function createGetTests({ getService }: FtrProviderContext) { describe('8.8.0', () => { it('adds UUIDs to all alerts', async () => { - const response = await es.search<{ task: SerializedConcreteTaskInstance }>( - { - index: '.kibana_task_manager', - size: 100, - body: { query: { match_all: {} } }, - }, - { meta: true } - ); - expect(response.statusCode).to.eql(200); - const tasks = response.body.hits.hits; - tasks.forEach((task) => { - const stateString = task._source?.task.state; - expect(stateString).to.be.ok(); - const state: RuleTaskState = JSON.parse(stateString!); - const uuids = new Set(); + await retry.try(async () => { + const response = await es.search<{ task: SerializedConcreteTaskInstance }>( + { + index: '.kibana_task_manager', + size: 100, + query: { match_all: {} }, + }, + { meta: true } + ); + expect(response.statusCode).to.eql(200); + const tasks = response.body.hits.hits; + tasks.forEach((task) => { + const stateString = task._source?.task.state; + expect(stateString).to.be.ok(); + const state: RuleTaskState = JSON.parse(stateString!); + const uuids = new Set(); - for (const alert of Object.values(state.alertInstances || {})) { - const uuid = alert?.meta?.uuid || 'uuid-is-missing'; - expect(uuid).to.match(/^.{8}-.{4}-.{4}-.{4}-.{12}$/); - expect(uuids.has(uuid)).to.be(false); - uuids.add(uuid); - } + for (const alert of Object.values(state.alertInstances || {})) { + const uuid = alert?.meta?.uuid || 'uuid-is-missing'; + expect(uuid).to.match(/^.{8}-.{4}-.{4}-.{4}-.{12}$/); + expect(uuids.has(uuid)).to.be(false); + uuids.add(uuid); + } - for (const alert of Object.values(state.alertRecoveredInstances || {})) { - const uuid = alert?.meta?.uuid || 'uuid-is-missing'; - expect(uuid).to.match(/^.{8}-.{4}-.{4}-.{4}-.{12}$/); - expect(uuids.has(uuid)).to.be(false); - uuids.add(uuid); - } + for (const alert of Object.values(state.alertRecoveredInstances || {})) { + const uuid = alert?.meta?.uuid || 'uuid-is-missing'; + expect(uuid).to.match(/^.{8}-.{4}-.{4}-.{4}-.{12}$/); + expect(uuids.has(uuid)).to.be(false); + uuids.add(uuid); + } + }); }); }); From 4d6fa35cf0dc157fcde7193ca738eedaeedf526f Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 8 Sep 2025 16:14:44 +0000 Subject: [PATCH 2/2] [CI] Auto-commit changed files from 'node scripts/eslint_all_files --no-cache --fix' --- .../test_suites/task_manager/migrations.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts b/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts index 47e583dd6d0b1..6f43944a1407b 100644 --- a/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts +++ b/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/migrations.ts @@ -5,7 +5,7 @@ * 2.0. */ -import expect from '@kbn/expect/expect'; +import expect from '@kbn/expect'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { TransportResult } from '@elastic/elasticsearch'; import {