test(glossary): mark Glossary Terms column-selection spec as slow to fix 60s timeout flake#29603
Conversation
…fix 60s timeout flake The "Column selection and visibility for Glossary Terms table" test intermittently times out at the default 60s in the nightly upgrade runs (e.g. open-metadata/openmetadata-nightly run 28412262801, shard 4). The test performs four column-toggle + page.reload() cycles; on a heavily populated instance the post-reload glossary page can take longer than 60s to render the terms table, so the final verifyAllColumns() assertion times out. Add test.slow(true) (3x timeout -> 180s) to match the rest of the tests in this describe block, which already use it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
❌ PR checklist incompleteThis PR cannot be merged until the following are addressed on its linked issue:
The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically. Maintainers can bypass this check by adding the |
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
Code Review ✅ ApprovedIncreases the timeout for the Glossary Terms column-selection test to 180s to resolve intermittent 60s flakiness. No issues found. OptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
|
Changes have been cherry-picked to the 1.13 branch. |
…fix 60s timeout flake (#29603) The "Column selection and visibility for Glossary Terms table" test intermittently times out at the default 60s in the nightly upgrade runs (e.g. open-metadata/openmetadata-nightly run 28412262801, shard 4). The test performs four column-toggle + page.reload() cycles; on a heavily populated instance the post-reload glossary page can take longer than 60s to render the terms table, so the final verifyAllColumns() assertion times out. Add test.slow(true) (3x timeout -> 180s) to match the rest of the tests in this describe block, which already use it. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 330b3c8)
|
Changes have been cherry-picked to the 1.12.13 branch. |
…fix 60s timeout flake (#29603) The "Column selection and visibility for Glossary Terms table" test intermittently times out at the default 60s in the nightly upgrade runs (e.g. open-metadata/openmetadata-nightly run 28412262801, shard 4). The test performs four column-toggle + page.reload() cycles; on a heavily populated instance the post-reload glossary page can take longer than 60s to render the terms table, so the final verifyAllColumns() assertion times out. Add test.slow(true) (3x timeout -> 180s) to match the rest of the tests in this describe block, which already use it. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 330b3c8)
What
Adds
test.slow(true)to the Playwright testGlossary tests › Column selection and visibility for Glossary Terms table(playwright/e2e/Pages/Glossary.spec.ts), tripling its per-test timeout from the default 60s to 180s.Why
This test intermittently times out at exactly 60s in the nightly upgrade runs:
In the merged report, both attempts of this test are
timedOutat 60.0s. The trace shows the test hangs on its final assertionexpect(getByTestId('glossary-terms-table')).toBeVisible()(the first line ofverifyAllColumns), immediately after the lastpage.reload()in the "Hide All columns" step. All glossary/search APIs return 200 and there is no JS exception — the glossary page is simply still rendering its loading state past the 60s budget on a heavily-populated upgrade instance (the test runs four column-toggle +page.reload()cycles).The other tests in this same
describeblock already usetest.slow(true); this one was missing it.Scope
Greptile Summary
This PR adds
test.slow(true)to a single Playwright test (Column selection and visibility for Glossary Terms table) that was intermittently timing out at exactly 60s in nightly upgrade runs, bringing it in line with the 17 other tests in the same file that already carry this annotation.Glossary.spec.ts.Confidence Score: 5/5
Safe to merge — a single, well-precedented annotation with no logic changes.
The change adds one call to test.slow(true) inside a test body, identical in form and placement to 17 other tests already present in the file. It widens a timeout for a test that was reproducibly timing out in CI, with no modifications to test logic, production code, or configuration.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A["Test: Column selection and visibility"] --> B["test.slow(true) annotation"] B -->|"Before PR - default timeout"| C["60s budget - intermittent timeout in nightly runs"] B -->|"After PR - slow = 3x"| D["180s budget - sufficient for upgrade instances"] D --> E["4x column-toggle + page.reload cycles"] E --> F["expect glossary-terms-table toBeVisible"] F --> G["Test PASS"]%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A["Test: Column selection and visibility"] --> B["test.slow(true) annotation"] B -->|"Before PR - default timeout"| C["60s budget - intermittent timeout in nightly runs"] B -->|"After PR - slow = 3x"| D["180s budget - sufficient for upgrade instances"] D --> E["4x column-toggle + page.reload cycles"] E --> F["expect glossary-terms-table toBeVisible"] F --> G["Test PASS"]Reviews (1): Last reviewed commit: "test(glossary): mark Glossary Terms colu..." | Re-trigger Greptile