Skip to content

[Triggers Actions UI] Wait for connectors list to filter in FTR searchConnectors helper - #286190

Merged
kibanamachine merged 2 commits into
mainfrom
fix/flaky-235623-connectors-search-filter-wait-78a3fb808df10950
Sep 11, 2026
Merged

[Triggers Actions UI] Wait for connectors list to filter in FTR searchConnectors helper#286190
kibanamachine merged 2 commits into
mainfrom
fix/flaky-235623-connectors-search-filter-wait-78a3fb808df10950

Conversation

@kibanamachine

@kibanamachine kibanamachine commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Fixes #235623

Summary

  • The Opsgenie connector FTR test asserted the connectors list had narrowed to 1 row but read 6, because the shared searchConnectors page-object helper returned before the client-side search filtered the table.
  • The helper waited on .euiBasicTable[data-test-subj="actionsTable"]:not(.euiBasicTable-loading), whose loading class only tracks the initial data fetch — never EUI's debounced in-memory search — so it resolved instantly against the still-unfiltered table, and getConnectorsList() read all accumulated connectors.
  • Replaced that wait with a bounded retry.waitFor that re-reads the rendered rows until they have all settled to match the search text. The search action (type + ENTER) is still issued once; only the DOM read is polled, so no interaction is retried.

Context

  • Follows the root cause and fix proposed by the Failed Test Investigator (see the issue comment).
  • Long-standing timing race, not a product bug: ~11 failures over 11 months, all on kibana-on-merge (local, not Cloud/serverless), spanning 9.1 → 8.19; the latest failure was 2026-08-19 on kibana-on-merge - 8.19.
  • On main and 9.5 the Opsgenie FTR spec has been migrated/relocated to Scout, but the buggy shared helper still lives on main (used by apps/rules/details.ts) and on every open release branch — so the fix lands on main and backports to the branches where the Opsgenie FTR test still runs (9.4, 8.19).
Verification

Verified locally

✅ Passed: node scripts/eslint x-pack/platform/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts

Not verified locally

  • FTR tests need a live Elasticsearch + Kibana and cannot run on this runner.
  • The failing opsgenie.ts spec no longer exists on main (migrated to Scout), so it can only be exercised on the 9.4 / 8.19 release branches once this fix is backported; behavior under CI parallel load was not measured.
Backporting guidance

Applied backport:all-open. The shared triggers_actions_ui_page.ts helper exists byte-identically on every open release branch (9.5, 9.4, 8.19 per versions.json) and the patch applies unchanged. On 9.4 and 8.19 this directly fixes the flaky Opsgenie FTR spec; on 9.5 the Opsgenie spec has been relocated to Scout but the shared helper is still used by other FTR connector/rules tests, so the fix is a safe improvement there too.

Note

Share feedback in #kibana-qa. Mention @copilot to make quick changes.

Warning

Firewall blocked 3 domains

The following domains were blocked by the firewall during workflow execution:

  • awmgmcpg
  • iojs.org
  • nodejs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"
    - "iojs.org"
    - "nodejs.org"

See Network Configuration for more information.

Generated by Flaky Test Fixer for #235623 · 285.6 AIC · ⌖ 21 AIC · ⊞ 10.7K ·

Fixes #235623

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
@kibanamachine

Copy link
Copy Markdown
Contributor Author

/flaky ftrConfig:x-pack/platform/test/functional_with_es_ssl/apps/rules/config.ts:30

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by Flaky Fix Verifier for #286190 · 242.4 AIC · ⌖ 45.6 AIC · ⊞ 11.4K ·

@kibanamachine

Copy link
Copy Markdown
Contributor Author

🔍 Verifying the fix

This fix hardens the shared searchConnectors FTR page-object helper. The originally-flaky Opsgenie spec (#235623) no longer exists on main (migrated to Scout), so verification runs apps/rules/config.ts — whose details.ts spec is the remaining FTR consumer of the fixed helper on main — 30× to confirm the client-side search race is stable.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

Generated by Flaky Fix Verifier for #286190 · 242.4 AIC · ⌖ 45.6 AIC · ⊞ 11.4K ·

@github-actions github-actions Bot added the flaky-fix-check:started Flaky fix verifier: a flaky test runner check has been triggered; in progress. label Aug 20, 2026
@kibanamachine

Copy link
Copy Markdown
Contributor Author

Flaky Test Runner

✅ Build triggered - kibana-flaky-test-suite-runner#13944

  • x-pack/platform/test/functional_with_es_ssl/apps/rules/config.ts x30

@kibanamachine

Copy link
Copy Markdown
Contributor Author

Flaky Test Runner Stats

🟠 Some tests failed. - kibana-flaky-test-suite-runner#13944

[❌] x-pack/platform/test/functional_with_es_ssl/apps/rules/config.ts: 28/30 tests passed.

see run history

@github-actions github-actions Bot added flaky-fix-check:passed Flaky fix verifier: targeted test held across the run(s); fix confirmed. and removed flaky-fix-check:started Flaky fix verifier: a flaky test runner check has been triggered; in progress. labels Aug 20, 2026
@kibanamachine
kibanamachine marked this pull request as ready for review August 20, 2026 00:49
@kibanamachine
kibanamachine requested a review from a team as a code owner August 20, 2026 00:49
@kibanamachine
kibanamachine enabled auto-merge (squash) August 20, 2026 00:49
@kibanamachine

Copy link
Copy Markdown
Contributor Author

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Unknown metric groups

warm start memory

id before after diff
post forced gc heap baseline - 839839208 +839839208
post forced gc heap delta - -1500668 -1500668
post forced gc heap delta standard deviation - 2598281 +2598281
post forced gc heap target - 838338540 +838338540
tail heap delta - -34450145 -34450145
total +1644825216

Test Failures

  • [job] [logs] FTR Configs #141 / security app - login selector reset session page "after all" hook for "compare screenshot"
  • [job] [logs] FTR Configs #141 / security app - login selector reset session page "before all" hook for "compare screenshot"

History

@kibanamachine
kibanamachine merged commit ec6c7d8 into main Sep 11, 2026
41 checks passed
@kibanamachine
kibanamachine deleted the fix/flaky-235623-connectors-search-filter-wait-78a3fb808df10950 branch September 11, 2026 16:21
@kibanamachine

Copy link
Copy Markdown
Contributor Author

Starting backport for target branches: 8.19, 9.4, 9.5

https://github.com/elastic/kibana/actions/runs/34621555273

@kibanamachine

Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
8.19
9.4
9.5

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Sep 11, 2026
… searchConnectors helper (#286190) (#290642)

# Backport

This will backport the following commits from `main` to `9.5`:
- [[Triggers Actions UI] Wait for connectors list to filter in FTR
searchConnectors helper
(#286190)](#286190)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kibana
Machine","email":"42973632+kibanamachine@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-09-11T16:21:49Z","message":"[Triggers
Actions UI] Wait for connectors list to filter in FTR searchConnectors
helper (#286190)\n\nFixes #235623\n\n### Summary\n\n- The Opsgenie
connector FTR test asserted the connectors list had\nnarrowed to 1 row
but read **6**, because the shared `searchConnectors`\npage-object
helper returned before the client-side search filtered the\ntable.\n-
The helper waited
on\n`.euiBasicTable[data-test-subj=\"actionsTable\"]:not(.euiBasicTable-loading)`,\nwhose
loading class only tracks the initial data fetch — never
EUI's\ndebounced in-memory search — so it resolved instantly against
the\nstill-unfiltered table, and `getConnectorsList()` read all
accumulated\nconnectors.\n- Replaced that wait with a bounded
`retry.waitFor` that re-reads the\nrendered rows until they have all
settled to match the search text. The\nsearch action (type + ENTER) is
still issued once; only the DOM read is\npolled, so no interaction is
retried.\n\n### Context\n\n- Follows the root cause and fix proposed by
the Failed Test\nInvestigator (see the
[issue\ncomment](https://github.com/elastic/kibana/issues/235623#issuecomment-5349225113)).\n-
Long-standing timing race, not a product bug: ~11 failures over
11\nmonths, all on `kibana-on-merge` (local, not Cloud/serverless),
spanning\n9.1 → 8.19; the latest failure was 2026-08-19 on
`kibana-on-merge -\n8.19`.\n- On `main` and `9.5` the Opsgenie FTR spec
has been migrated/relocated\nto Scout, but the buggy shared helper still
lives on `main` (used by\n`apps/rules/details.ts`) and on every open
release branch — so the fix\nlands on `main` and backports to the
branches where the Opsgenie FTR\ntest still runs (9.4,
8.19).\n\n<details>\n<summary>Verification</summary>\n\n#### Verified
locally\n\n✅ Passed: `node
scripts/eslint\nx-pack/platform/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts`\n\n####
Not verified locally\n\n- FTR tests need a live Elasticsearch + Kibana
and cannot run on this\nrunner.\n- The failing `opsgenie.ts` spec no
longer exists on `main` (migrated to\nScout), so it can only be
exercised on the 9.4 / 8.19 release branches\nonce this fix is
backported; behavior under CI parallel load was
not\nmeasured.\n\n</details>\n\n<details>\n<summary>Backporting
guidance</summary>\n\nApplied `backport:all-open`. The shared
`triggers_actions_ui_page.ts`\nhelper exists byte-identically on every
open release branch (`9.5`,\n`9.4`, `8.19` per `versions.json`) and the
patch applies unchanged. On\n9.4 and 8.19 this directly fixes the flaky
Opsgenie FTR spec; on 9.5 the\nOpsgenie spec has been relocated to Scout
but the shared helper is still\nused by other FTR connector/rules tests,
so the fix is a safe\nimprovement there too.\n\n</details>\n\n>
[!NOTE]\n> Share feedback in #kibana-qa. Mention `@copilot` to make
quick\nchanges.\n\n\n\n\n> [!WARNING]\n> <details>\n> <summary>Firewall
blocked 3 domains</summary>\n>\n> The following domains were blocked by
the firewall during workflow\nexecution:\n>\n> - `awmgmcpg`\n> -
`iojs.org`\n> - `nodejs.org`\n>> To allow these domains, add them to the
`network.allowed` list in\nyour workflow frontmatter:\n>\n> ```yaml\n>
network:\n> allowed:\n> - defaults\n> - \"awmgmcpg\"\n> -
\"iojs.org\"\n> - \"nodejs.org\"\n> ```\n>\n> See
[Network\nConfiguration](https://github.github.com/gh-aw/reference/network/)
for\nmore information.\n>\n> </details>\n\n\n> Generated by [Flaky
Test\nFixer](https://github.com/elastic/kibana/actions/runs/32313293293)
for\n#235623 · 285.6 AIC · ⌖ 21 AIC · ⊞ 10.7K
·\n[◷](https://github.com/search?q=repo%3Aelastic%2Fkibana+%22gh-aw-workflow-id%3A+flaky-test-fixer%22&type=pullrequests)\n\n\n\n\n\n\nCo-authored-by:
Claude Opus 4 (1M context) <noreply@anthropic.com>\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"ec6c7d8930560580b71068f0cae5499557ccd213","branchLabelMapping":{"^v9.6.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","flaky-test-fixer","flaky-fix-check:passed","v9.6.0"],"title":"[Triggers
Actions UI] Wait for connectors list to filter in FTR searchConnectors
helper","number":286190,"url":"https://github.com/elastic/kibana/pull/286190","mergeCommit":{"message":"[Triggers
Actions UI] Wait for connectors list to filter in FTR searchConnectors
helper (#286190)\n\nFixes #235623\n\n### Summary\n\n- The Opsgenie
connector FTR test asserted the connectors list had\nnarrowed to 1 row
but read **6**, because the shared `searchConnectors`\npage-object
helper returned before the client-side search filtered the\ntable.\n-
The helper waited
on\n`.euiBasicTable[data-test-subj=\"actionsTable\"]:not(.euiBasicTable-loading)`,\nwhose
loading class only tracks the initial data fetch — never
EUI's\ndebounced in-memory search — so it resolved instantly against
the\nstill-unfiltered table, and `getConnectorsList()` read all
accumulated\nconnectors.\n- Replaced that wait with a bounded
`retry.waitFor` that re-reads the\nrendered rows until they have all
settled to match the search text. The\nsearch action (type + ENTER) is
still issued once; only the DOM read is\npolled, so no interaction is
retried.\n\n### Context\n\n- Follows the root cause and fix proposed by
the Failed Test\nInvestigator (see the
[issue\ncomment](https://github.com/elastic/kibana/issues/235623#issuecomment-5349225113)).\n-
Long-standing timing race, not a product bug: ~11 failures over
11\nmonths, all on `kibana-on-merge` (local, not Cloud/serverless),
spanning\n9.1 → 8.19; the latest failure was 2026-08-19 on
`kibana-on-merge -\n8.19`.\n- On `main` and `9.5` the Opsgenie FTR spec
has been migrated/relocated\nto Scout, but the buggy shared helper still
lives on `main` (used by\n`apps/rules/details.ts`) and on every open
release branch — so the fix\nlands on `main` and backports to the
branches where the Opsgenie FTR\ntest still runs (9.4,
8.19).\n\n<details>\n<summary>Verification</summary>\n\n#### Verified
locally\n\n✅ Passed: `node
scripts/eslint\nx-pack/platform/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts`\n\n####
Not verified locally\n\n- FTR tests need a live Elasticsearch + Kibana
and cannot run on this\nrunner.\n- The failing `opsgenie.ts` spec no
longer exists on `main` (migrated to\nScout), so it can only be
exercised on the 9.4 / 8.19 release branches\nonce this fix is
backported; behavior under CI parallel load was
not\nmeasured.\n\n</details>\n\n<details>\n<summary>Backporting
guidance</summary>\n\nApplied `backport:all-open`. The shared
`triggers_actions_ui_page.ts`\nhelper exists byte-identically on every
open release branch (`9.5`,\n`9.4`, `8.19` per `versions.json`) and the
patch applies unchanged. On\n9.4 and 8.19 this directly fixes the flaky
Opsgenie FTR spec; on 9.5 the\nOpsgenie spec has been relocated to Scout
but the shared helper is still\nused by other FTR connector/rules tests,
so the fix is a safe\nimprovement there too.\n\n</details>\n\n>
[!NOTE]\n> Share feedback in #kibana-qa. Mention `@copilot` to make
quick\nchanges.\n\n\n\n\n> [!WARNING]\n> <details>\n> <summary>Firewall
blocked 3 domains</summary>\n>\n> The following domains were blocked by
the firewall during workflow\nexecution:\n>\n> - `awmgmcpg`\n> -
`iojs.org`\n> - `nodejs.org`\n>> To allow these domains, add them to the
`network.allowed` list in\nyour workflow frontmatter:\n>\n> ```yaml\n>
network:\n> allowed:\n> - defaults\n> - \"awmgmcpg\"\n> -
\"iojs.org\"\n> - \"nodejs.org\"\n> ```\n>\n> See
[Network\nConfiguration](https://github.github.com/gh-aw/reference/network/)
for\nmore information.\n>\n> </details>\n\n\n> Generated by [Flaky
Test\nFixer](https://github.com/elastic/kibana/actions/runs/32313293293)
for\n#235623 · 285.6 AIC · ⌖ 21 AIC · ⊞ 10.7K
·\n[◷](https://github.com/search?q=repo%3Aelastic%2Fkibana+%22gh-aw-workflow-id%3A+flaky-test-fixer%22&type=pullrequests)\n\n\n\n\n\n\nCo-authored-by:
Claude Opus 4 (1M context) <noreply@anthropic.com>\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"ec6c7d8930560580b71068f0cae5499557ccd213"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.6.0","branchLabelMappingKey":"^v9.6.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/286190","number":286190,"mergeCommit":{"message":"[Triggers
Actions UI] Wait for connectors list to filter in FTR searchConnectors
helper (#286190)\n\nFixes #235623\n\n### Summary\n\n- The Opsgenie
connector FTR test asserted the connectors list had\nnarrowed to 1 row
but read **6**, because the shared `searchConnectors`\npage-object
helper returned before the client-side search filtered the\ntable.\n-
The helper waited
on\n`.euiBasicTable[data-test-subj=\"actionsTable\"]:not(.euiBasicTable-loading)`,\nwhose
loading class only tracks the initial data fetch — never
EUI's\ndebounced in-memory search — so it resolved instantly against
the\nstill-unfiltered table, and `getConnectorsList()` read all
accumulated\nconnectors.\n- Replaced that wait with a bounded
`retry.waitFor` that re-reads the\nrendered rows until they have all
settled to match the search text. The\nsearch action (type + ENTER) is
still issued once; only the DOM read is\npolled, so no interaction is
retried.\n\n### Context\n\n- Follows the root cause and fix proposed by
the Failed Test\nInvestigator (see the
[issue\ncomment](https://github.com/elastic/kibana/issues/235623#issuecomment-5349225113)).\n-
Long-standing timing race, not a product bug: ~11 failures over
11\nmonths, all on `kibana-on-merge` (local, not Cloud/serverless),
spanning\n9.1 → 8.19; the latest failure was 2026-08-19 on
`kibana-on-merge -\n8.19`.\n- On `main` and `9.5` the Opsgenie FTR spec
has been migrated/relocated\nto Scout, but the buggy shared helper still
lives on `main` (used by\n`apps/rules/details.ts`) and on every open
release branch — so the fix\nlands on `main` and backports to the
branches where the Opsgenie FTR\ntest still runs (9.4,
8.19).\n\n<details>\n<summary>Verification</summary>\n\n#### Verified
locally\n\n✅ Passed: `node
scripts/eslint\nx-pack/platform/test/functional_with_es_ssl/page_objects/triggers_actions_ui_page.ts`\n\n####
Not verified locally\n\n- FTR tests need a live Elasticsearch + Kibana
and cannot run on this\nrunner.\n- The failing `opsgenie.ts` spec no
longer exists on `main` (migrated to\nScout), so it can only be
exercised on the 9.4 / 8.19 release branches\nonce this fix is
backported; behavior under CI parallel load was
not\nmeasured.\n\n</details>\n\n<details>\n<summary>Backporting
guidance</summary>\n\nApplied `backport:all-open`. The shared
`triggers_actions_ui_page.ts`\nhelper exists byte-identically on every
open release branch (`9.5`,\n`9.4`, `8.19` per `versions.json`) and the
patch applies unchanged. On\n9.4 and 8.19 this directly fixes the flaky
Opsgenie FTR spec; on 9.5 the\nOpsgenie spec has been relocated to Scout
but the shared helper is still\nused by other FTR connector/rules tests,
so the fix is a safe\nimprovement there too.\n\n</details>\n\n>
[!NOTE]\n> Share feedback in #kibana-qa. Mention `@copilot` to make
quick\nchanges.\n\n\n\n\n> [!WARNING]\n> <details>\n> <summary>Firewall
blocked 3 domains</summary>\n>\n> The following domains were blocked by
the firewall during workflow\nexecution:\n>\n> - `awmgmcpg`\n> -
`iojs.org`\n> - `nodejs.org`\n>> To allow these domains, add them to the
`network.allowed` list in\nyour workflow frontmatter:\n>\n> ```yaml\n>
network:\n> allowed:\n> - defaults\n> - \"awmgmcpg\"\n> -
\"iojs.org\"\n> - \"nodejs.org\"\n> ```\n>\n> See
[Network\nConfiguration](https://github.github.com/gh-aw/reference/network/)
for\nmore information.\n>\n> </details>\n\n\n> Generated by [Flaky
Test\nFixer](https://github.com/elastic/kibana/actions/runs/32313293293)
for\n#235623 · 285.6 AIC · ⌖ 21 AIC · ⊞ 10.7K
·\n[◷](https://github.com/search?q=repo%3Aelastic%2Fkibana+%22gh-aw-workflow-id%3A+flaky-test-fixer%22&type=pullrequests)\n\n\n\n\n\n\nCo-authored-by:
Claude Opus 4 (1M context) <noreply@anthropic.com>\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"ec6c7d8930560580b71068f0cae5499557ccd213"}}]}]
BACKPORT-->

Co-authored-by: Claude Opus 4 (1M context) <noreply@anthropic.com>
Co-authored-by: Cesare de Cal <cesare.decal@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:all-open Backport to all branches that could still receive a release flaky-fix-check:passed Flaky fix verifier: targeted test held across the run(s); fix confirmed. flaky-test-fixer Automated PR created by the flaky test fixer workflow release_note:skip Skip the PR/issue when compiling release notes v9.5.4 v9.6.0

Projects

None yet

3 participants