Skip to content

Fix: Prevent 409 conflicts in Playwright pagination tests on retry#26480

Open
Rohit0301 wants to merge 1 commit intomainfrom
pagination-e2e-fix
Open

Fix: Prevent 409 conflicts in Playwright pagination tests on retry#26480
Rohit0301 wants to merge 1 commit intomainfrom
pagination-e2e-fix

Conversation

@Rohit0301
Copy link
Contributor

Describe your changes:

Playwright tests were failing with 409 Conflict on retry because entity classes (DatabaseClass, DriveServiceClass, etc.) were instantiated at module level. When Playwright retries a failed beforeAll, the module is already cached — the same instance with the same UUID is reused, causing the POST to fail on an already-existing entity.

Moved all entity class instantiations inside beforeAll so a fresh instance (with a new UUID) is created on every run/retry

Fixes

I worked on ... because ...

Screenshot 2026-03-13 at 5 35 55 PM

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • 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.

@Rohit0301 Rohit0301 self-assigned this Mar 13, 2026
@Rohit0301 Rohit0301 requested a review from a team as a code owner March 13, 2026 12:12
@Rohit0301 Rohit0301 added the safe to test Add this label to run secure Github workflows on PRs label Mar 13, 2026
@gitar-bot
Copy link

gitar-bot bot commented Mar 13, 2026

Code Review ✅ Approved

Prevents 409 conflicts in Playwright pagination tests on retry by addressing the underlying race condition. No issues found.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions
Copy link
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 65%
65.97% (57395/86993) 45.53% (30284/66505) 48.47% (9081/18733)

@sonarqubecloud
Copy link

@github-actions
Copy link
Contributor

🟡 Playwright Results — all passed (28 flaky)

✅ 3314 passed · ❌ 0 failed · 🟡 28 flaky · ⏭️ 183 skipped

Shard Passed Failed Flaky Skipped
🟡 Shard 1 451 0 4 2
🟡 Shard 2 301 0 4 1
🟡 Shard 3 649 0 9 33
🟡 Shard 4 725 0 5 47
✅ Shard 5 591 0 0 67
🟡 Shard 6 597 0 6 33
🟡 28 flaky test(s) (passed on retry)
  • Features/CustomizeDetailPage.spec.ts › Dashboard Data Model - customization should work (shard 1, 1 retry)
  • Features/CustomizeDetailPage.spec.ts › Glossary - customization should work (shard 1, 1 retry)
  • Features/OnlineUsers.spec.ts › Should show user displayName in online users table (shard 1, 1 retry)
  • Pages/Customproperties-part1.spec.ts › sqlQuery shows scrollable CodeMirror container and no expand toggle (shard 1, 1 retry)
  • Features/ColumnBulkOperations.spec.ts › should show no results when searching for nonexistent column (shard 2, 1 retry)
  • Pages/DataContracts.spec.ts › Operation on Old Schema Columns Contract (shard 2, 1 retry)
  • Pages/ExploreTree.spec.ts › Verify Database and Database Schema available in explore tree (shard 2, 1 retry)
  • Pages/ExploreTree.spec.ts › Verify Database and Database schema after rename (shard 2, 1 retry)
  • Features/BulkImport.spec.ts › Database (shard 3, 1 retry)
  • Features/DataProductRename.spec.ts › should handle multiple consecutive renames and preserve assets (shard 3, 1 retry)
  • Features/Glossary/GlossaryAdvancedOperations.spec.ts › should remove owner from term (shard 3, 1 retry)
  • Features/Glossary/GlossaryHierarchy.spec.ts › should move term with children to different glossary (shard 3, 1 retry)
  • Features/ImpactAnalysis.spec.ts › verify owner filter for Asset level impact analysis (shard 3, 1 retry)
  • Features/LandingPageWidgets/DomainDataProductsWidgets.spec.ts › Data Product asset count should update when assets are removed (shard 3, 1 retry)
  • Features/Permissions/GlossaryPermissions.spec.ts › Team-based permissions work correctly (shard 3, 1 retry)
  • Features/Permissions/ServiceEntityPermissions.spec.ts › SearchIndex Service allow common operations permissions (shard 3, 1 retry)
  • Features/TableSearch.spec.ts › API Collection page should have search functionality (shard 3, 1 retry)
  • Flow/ExploreDiscovery.spec.ts › Should display deleted assets when showDeleted is checked and deleted is not present in queryFilter (shard 4, 1 retry)
  • Pages/Customproperties-part2.spec.ts › entityReferenceList shows item count, scrollable list, no expand toggle (shard 4, 1 retry)
  • Pages/DomainAdvanced.spec.ts › User with domain access can view subdomains (shard 4, 1 retry)
  • Pages/Domains.spec.ts › Multiple consecutive domain renames preserve all associations (shard 4, 1 retry)
  • Pages/Entity.spec.ts › Glossary Term Add, Update and Remove for child entities (shard 4, 1 retry)
  • Pages/Glossary.spec.ts › Create glossary with all optional fields (tags, owners, reviewers, domain) (shard 6, 1 retry)
  • Pages/Tag.spec.ts › Add and Remove Assets and Check Restricted Entity (shard 6, 1 retry)
  • Pages/Teams.spec.ts › Add and Remove User for Team (shard 6, 1 retry)
  • Pages/Teams.spec.ts › Should not have edit access on team page with no data available (shard 6, 1 retry)
  • Pages/Users.spec.ts › Check permissions for Data Steward (shard 6, 1 retry)
  • VersionPages/EntityVersionPages.spec.ts › Spreadsheet (shard 6, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

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 To release Will cherry-pick this PR into the release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant