Skip to content

fix(playwright): keep ExploreBrowse fixtures inside the capped service aggregate bucket - #30884

Merged
harsh-vador merged 1 commit into
mainfrom
fix-explore-browse-flaky
Aug 4, 2026
Merged

fix(playwright): keep ExploreBrowse fixtures inside the capped service aggregate bucket#30884
harsh-vador merged 1 commit into
mainfrom
fix-explore-browse-flaky

Conversation

@harsh-vador

Copy link
Copy Markdown
Contributor

Describe your changes:

Problem

ExploreBrowse.spec.ts was flaky on shared environments. The Explore tree's service drill-down goes through POST /api/v1/search/aggregate, which caps the service bucket at size=166 (SIZE.X_LARGE) and sorts it by _key ASC
(ElasticSearchAggregationManager). The test fixtures were created with default pw-* service names, which sort mid-list — once more than 166 pw-* services accumulate on the environment, the fixture service falls outside the returned
bucket, never renders in the tree, and the drill-down steps fail.

Fix

Prefix the fixture service names with 0- so they sort first and always land inside the capped bucket, regardless of how many other pw-* services exist. Mirrors the approach in #30881 for ExploreTree.spec.ts.

const table = new TableClass(undefined, undefined, {
  name: `0-pw-database-service-${uuid()}`,
});
const dashboard = new DashboardClass(`0-pw-dashboard-service-${uuid()}`);


#
### Type of change:
<!-- You should choose 1 option and delete options that aren't relevant -->
- [ ] Bug fix
- [ ] Improvement
- [ ] New feature
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation

#
### High-level design:
<!--
REQUIRED for large PRs (new features, refactors, breaking changes, or anything touching >5 files).
Skip for small bug fixes and trivial changes.

Cover:
- Architecture / approach you took and why
- Key components or files added/changed and how they interact
- Alternatives considered and why you rejected them
- Any migration, backward-compatibility, or rollout concerns
- Diagrams or links to design docs / RFCs if available
-->

N/A  small change. <!-- Or fill in the design above -->

#
### Tests:

#### Use cases covered
<!--
List the user-visible scenarios this PR exercises. Example:
- User with Admin role can create a Glossary Term with a parent term
- Ingestion run for Snowflake correctly extracts row counts for partitioned tables
-->

#### Unit tests
<!--
- [ ] I added unit tests for the new/changed logic.
- Files added/updated:
- Coverage on changed classes (run `mvn jacoco:report` for backend, `yarn test:coverage` for UI,
  `make unit_ingestion` for ingestion). Target is 90% line coverage on changed classes.
- Coverage %: <e.g., 92% on EntityRepository.java>
-->

#### Backend integration tests
<!--
- [ ] I added integration tests in `openmetadata-integration-tests/` for new/changed API endpoints.
- [ ] Not applicable (no backend API changes).
- Files added/updated:
-->

#### Ingestion integration tests
<!--
- [ ] I added/updated ingestion integration tests for connector changes.
- [ ] Not applicable (no ingestion changes).
- Files added/updated:
-->

#### Playwright (UI) tests
<!--
- [ ] I added Playwright E2E tests under `openmetadata-ui/.../ui/playwright/` for UI changes.
- [ ] Not applicable (no UI changes).
- Files added/updated:
-->

#### Manual testing performed
<!--
List the manual test steps you performed before requesting review. Example:
1. Started local stack via `./docker/run_local_docker.sh -m ui -d mysql`
2. Logged in as admin, created entity X, verified Y appears in the UI
3. Triggered ingestion for Snowflake source, confirmed lineage edges in the explore page
-->

#
### UI screen recording / screenshots:
<!--
REQUIRED for any PR that changes the UI. Drag-and-drop a short screen recording (.mov / .mp4 / .gif)
demonstrating the change end-to-end, plus before/after screenshots where relevant.
Mark "Not applicable" if there are no UI changes.
-->

Not applicable. <!-- Or attach recording/screenshots above -->

#
### Checklist:
<!-- add an x in [] if done, don't mark items that you didn't do !-->
- [x] I have read the [**CONTRIBUTING**](https://docs.open-metadata.org/developers/contribute) document.
- [ ] My PR title is `Fixes <issue-number>: <short explanation>`
- [ ] My PR is linked to a GitHub issue via `Fixes #<issue-number>` above.
- [ ] I have commented on my code, particularly in hard-to-understand areas.
- [ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
- [ ] For UI changes: I attached a screen recording and/or screenshots above.
- [ ] I have added tests (unit / integration / Playwright as applicable) and listed them above.

<!-- Based on the type(s) of your change, uncomment the required checklist 👇 -->

<!-- Bug fix
- [ ] I have added a test that covers the exact scenario we are fixing. For complex issues, comment the issue number in the test for future reference.
-->

<!-- Improvement
- [ ] I have added tests around the new logic.
- [ ] For connector/ingestion changes: I updated the documentation.
-->

<!-- New feature
- [ ] The issue properly describes why the new feature is needed, what's the goal, and how we are building it. Any discussion
    or decision-making process is reflected in the issue.
- [ ] I have updated the documentation.
- [ ] I have added tests around the new logic.
-->

<!-- Breaking change
- [ ] I have added the tag `Backward-Incompatible-Change`.
-->

@harsh-vador harsh-vador self-assigned this Aug 3, 2026
@harsh-vador
harsh-vador requested a review from a team as a code owner August 3, 2026 15:58
@harsh-vador harsh-vador added safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check labels Aug 3, 2026
@github-actions github-actions Bot added the UI UI specific issues label Aug 3, 2026
@harsh-vador
harsh-vador enabled auto-merge August 3, 2026 15:59
@gitar-bot

gitar-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Prefixes ExploreBrowse test fixtures with '0-' to ensure service names consistently land within the capped search aggregate bucket on shared environments. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar | Powered by Gitar — free for open source

@harsh-vador
harsh-vador added this pull request to the merge queue Aug 3, 2026
Merged via the queue into main with commit eff8d00 Aug 4, 2026
83 of 152 checks passed
@harsh-vador
harsh-vador deleted the fix-explore-browse-flaky branch August 4, 2026 02:24
harsh-vador added a commit that referenced this pull request Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants