Removed the special-case Tier filter logic that combined getTags API with aggregation#26826
Removed the special-case Tier filter logic that combined getTags API with aggregation#26826
Conversation
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ExploreQuickFilters.spec.ts
Show resolved
Hide resolved
🟡 Playwright Results — all passed (18 flaky)✅ 3427 passed · ❌ 0 failed · 🟡 18 flaky · ⏭️ 223 skipped
🟡 18 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ExploreQuickFilters.spec.ts
Outdated
Show resolved
Hide resolved
openmetadata-ui/src/main/resources/ui/playwright/e2e/Features/ExploreQuickFilters.spec.ts
Show resolved
Hide resolved
Code Review
|
| Compact |
|
Was this helpful? React with 👍 / 👎 | Gitar
|
…pliedBy audit trail - batchFetchTags() now filters out certification tags (matching the existing single-entity getTags() behavior), preventing cert tags from appearing in the tags field when entities are fetched via the LIST endpoint - applyCertification() propagates tagLabel.getAppliedBy() instead of null, preserving the audit trail of who applied the certification - updateCertification() sets appliedBy from updatingUser before calling applyCertification(), so the author is recorded on PATCH/PUT - applyCertificationBatch() includes appliedBy from the incoming tagLabel when building the batch TagLabel - Unit tests: batchFetchTagsFiltersCertificationTags, applyCertificationPropagatesAppliedBy, applyCertificationBatchPropagatesAppliedBy - Integration test: test_certificationTagNotLeakingIntoTagsField verifies both GET (single) and LIST (batch) paths exclude cert tags from tags field Fixes findings from Gitar bot review on #26826 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sing appliedBy audit trail (#26876) * Fix certification tags leaking into tags field on LIST and missing appliedBy audit trail - batchFetchTags() now filters out certification tags (matching the existing single-entity getTags() behavior), preventing cert tags from appearing in the tags field when entities are fetched via the LIST endpoint - applyCertification() propagates tagLabel.getAppliedBy() instead of null, preserving the audit trail of who applied the certification - updateCertification() sets appliedBy from updatingUser before calling applyCertification(), so the author is recorded on PATCH/PUT - applyCertificationBatch() includes appliedBy from the incoming tagLabel when building the batch TagLabel - Unit tests: batchFetchTagsFiltersCertificationTags, applyCertificationPropagatesAppliedBy, applyCertificationBatchPropagatesAppliedBy - Integration test: test_certificationTagNotLeakingIntoTagsField verifies both GET (single) and LIST (batch) paths exclude cert tags from tags field Fixes findings from Gitar bot review on #26826 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: use server-side updatedBy and avoid unnecessary list copy - applyCertification/applyCertificationBatch: use entity.getUpdatedBy() instead of tagLabel.getAppliedBy() so the audit trail reflects the authenticated server-side user, preventing client-provided appliedBy from being trusted/spoofed - batchFetchTags: removeIf directly on the mutable list returned by populateTagLabel instead of defensively copying on every entity - Update unit tests to set updatedBy on the entity (not on the tagLabel) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix certification column missing on all list/service views Now that batchFetchTags() correctly filters certification tags from the tags field (matching single-entity getTags() behavior), list views can no longer rely on cert tags leaking into tags as a fallback. Request the dedicated certification field explicitly instead. - Add TabSpecificField.CERTIFICATION to commonTableFields — fixes ServiceDetailsPage (all 12 fetch functions), SchemaTablesTab, DataModelsTable, and ServiceVersionPage.fetchDirectories in one shot - Fix ServiceVersionPage: 8 fetch functions (databases, topics, dashboards, pipelines, mlModels, containers, searchIndexes, collections) that manually specify OWNERS,TAGS — each updated to include CERTIFICATION - DatabaseSchemaTable: remove now-redundant explicit CERTIFICATION addition since commonTableFields already includes it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: rename misleading test names and fix lint - Rename applyCertificationPropagatesAppliedBy to applyCertificationUsesEntityUpdatedByAsAppliedBy - Rename applyCertificationBatchPropagatesAppliedBy to applyCertificationBatchUsesEntityUpdatedByAsAppliedBy Names now accurately reflect that entity.getUpdatedBy() (server-side) is the source of appliedBy, not the incoming tagLabel field - Run yarn ui-checkstyle and mvn spotless:apply to fix formatting Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix JDBI3 positional param error for PostgreSQL JSONB key-existence operator The `?` operator in `json::jsonb ? 'certification'` was interpreted by JDBI3 as a positional parameter, causing UnableToCreateStatementException during the v1125 certification migration on PostgreSQL. Escape with `??` so JDBI3 passes a literal `?` to the database driver. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…sing appliedBy audit trail (#26876) * Fix certification tags leaking into tags field on LIST and missing appliedBy audit trail - batchFetchTags() now filters out certification tags (matching the existing single-entity getTags() behavior), preventing cert tags from appearing in the tags field when entities are fetched via the LIST endpoint - applyCertification() propagates tagLabel.getAppliedBy() instead of null, preserving the audit trail of who applied the certification - updateCertification() sets appliedBy from updatingUser before calling applyCertification(), so the author is recorded on PATCH/PUT - applyCertificationBatch() includes appliedBy from the incoming tagLabel when building the batch TagLabel - Unit tests: batchFetchTagsFiltersCertificationTags, applyCertificationPropagatesAppliedBy, applyCertificationBatchPropagatesAppliedBy - Integration test: test_certificationTagNotLeakingIntoTagsField verifies both GET (single) and LIST (batch) paths exclude cert tags from tags field Fixes findings from Gitar bot review on #26826 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: use server-side updatedBy and avoid unnecessary list copy - applyCertification/applyCertificationBatch: use entity.getUpdatedBy() instead of tagLabel.getAppliedBy() so the audit trail reflects the authenticated server-side user, preventing client-provided appliedBy from being trusted/spoofed - batchFetchTags: removeIf directly on the mutable list returned by populateTagLabel instead of defensively copying on every entity - Update unit tests to set updatedBy on the entity (not on the tagLabel) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix certification column missing on all list/service views Now that batchFetchTags() correctly filters certification tags from the tags field (matching single-entity getTags() behavior), list views can no longer rely on cert tags leaking into tags as a fallback. Request the dedicated certification field explicitly instead. - Add TabSpecificField.CERTIFICATION to commonTableFields — fixes ServiceDetailsPage (all 12 fetch functions), SchemaTablesTab, DataModelsTable, and ServiceVersionPage.fetchDirectories in one shot - Fix ServiceVersionPage: 8 fetch functions (databases, topics, dashboards, pipelines, mlModels, containers, searchIndexes, collections) that manually specify OWNERS,TAGS — each updated to include CERTIFICATION - DatabaseSchemaTable: remove now-redundant explicit CERTIFICATION addition since commonTableFields already includes it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: rename misleading test names and fix lint - Rename applyCertificationPropagatesAppliedBy to applyCertificationUsesEntityUpdatedByAsAppliedBy - Rename applyCertificationBatchPropagatesAppliedBy to applyCertificationBatchUsesEntityUpdatedByAsAppliedBy Names now accurately reflect that entity.getUpdatedBy() (server-side) is the source of appliedBy, not the incoming tagLabel field - Run yarn ui-checkstyle and mvn spotless:apply to fix formatting Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix JDBI3 positional param error for PostgreSQL JSONB key-existence operator The `?` operator in `json::jsonb ? 'certification'` was interpreted by JDBI3 as a positional parameter, causing UnableToCreateStatementException during the v1125 certification migration on PostgreSQL. Escape with `??` so JDBI3 passes a literal `?` to the database driver. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> (cherry picked from commit 2ef1420)
…sing appliedBy audit trail (#26876) * Fix certification tags leaking into tags field on LIST and missing appliedBy audit trail - batchFetchTags() now filters out certification tags (matching the existing single-entity getTags() behavior), preventing cert tags from appearing in the tags field when entities are fetched via the LIST endpoint - applyCertification() propagates tagLabel.getAppliedBy() instead of null, preserving the audit trail of who applied the certification - updateCertification() sets appliedBy from updatingUser before calling applyCertification(), so the author is recorded on PATCH/PUT - applyCertificationBatch() includes appliedBy from the incoming tagLabel when building the batch TagLabel - Unit tests: batchFetchTagsFiltersCertificationTags, applyCertificationPropagatesAppliedBy, applyCertificationBatchPropagatesAppliedBy - Integration test: test_certificationTagNotLeakingIntoTagsField verifies both GET (single) and LIST (batch) paths exclude cert tags from tags field Fixes findings from Gitar bot review on #26826 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: use server-side updatedBy and avoid unnecessary list copy - applyCertification/applyCertificationBatch: use entity.getUpdatedBy() instead of tagLabel.getAppliedBy() so the audit trail reflects the authenticated server-side user, preventing client-provided appliedBy from being trusted/spoofed - batchFetchTags: removeIf directly on the mutable list returned by populateTagLabel instead of defensively copying on every entity - Update unit tests to set updatedBy on the entity (not on the tagLabel) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix certification column missing on all list/service views Now that batchFetchTags() correctly filters certification tags from the tags field (matching single-entity getTags() behavior), list views can no longer rely on cert tags leaking into tags as a fallback. Request the dedicated certification field explicitly instead. - Add TabSpecificField.CERTIFICATION to commonTableFields — fixes ServiceDetailsPage (all 12 fetch functions), SchemaTablesTab, DataModelsTable, and ServiceVersionPage.fetchDirectories in one shot - Fix ServiceVersionPage: 8 fetch functions (databases, topics, dashboards, pipelines, mlModels, containers, searchIndexes, collections) that manually specify OWNERS,TAGS — each updated to include CERTIFICATION - DatabaseSchemaTable: remove now-redundant explicit CERTIFICATION addition since commonTableFields already includes it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Address Copilot review: rename misleading test names and fix lint - Rename applyCertificationPropagatesAppliedBy to applyCertificationUsesEntityUpdatedByAsAppliedBy - Rename applyCertificationBatchPropagatesAppliedBy to applyCertificationBatchUsesEntityUpdatedByAsAppliedBy Names now accurately reflect that entity.getUpdatedBy() (server-side) is the source of appliedBy, not the incoming tagLabel field - Run yarn ui-checkstyle and mvn spotless:apply to fix formatting Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix JDBI3 positional param error for PostgreSQL JSONB key-existence operator The `?` operator in `json::jsonb ? 'certification'` was interpreted by JDBI3 as a positional parameter, causing UnableToCreateStatementException during the v1125 certification migration on PostgreSQL. Escape with `??` so JDBI3 passes a literal `?` to the database driver. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>



Tier no longer calls the getTags API to fetch all tier tags and merge them with aggregation results. It now uses the standard aggregation flow like every other quick filter.
Describe your changes:
Fixes #26843
I worked on ... because ...
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
getTagsAPI call and manual tier option mapping inExploreQuickFiltersTier.TierXto lowercasetier.tierxformat in e2e testsThis will update automatically on new commits.