Fix filters impact analysis#24877
Conversation
🔍 CI failure analysis for 6f573ee: Playwright tests failed due to timeouts in Glossary, Bulk Import, and Landing Page Widget tests - completely unrelated to this PR's lineage/filter changes. Likely infrastructure or pre-existing flaky test issues.IssueThe playwright-ci-postgresql (2, 6) job failed with multiple E2E test timeout and browser closure errors. Five specific tests encountered failures:
Root CauseThese failures are NOT related to this PR's changes. This PR exclusively modifies:
The failing tests cover completely different functionality:
None of these test areas overlap with lineage impact analysis or explore filters functionality modified in this PR. DetailsThe timeout errors indicate:
These patterns suggest either:
The failures are environment/infrastructure-related rather than code defects introduced by this PR's lineage and filter improvements. Code Review 👍 Approved with suggestionsGood refactor addressing pagination bug and simplifying lineage data structures, with one minor logging concern. Suggestions 💡 1 suggestionCode Quality: Logging expected fallback behavior to console is unnecessary📄 openmetadata-ui/src/main/resources/ui/src/rest/miscAPI.ts:233-238 The Impact: Minor - adds unnecessary console output during normal app operation. Suggestion: Remove the console.info statement since this is expected behavior, not an error condition: } catch (error) {
// Relative paths will fail URL parsing, fall back to default
baseURL = '/';
}If debugging is needed, consider using a debug-level logger that can be disabled in production. Resolved ✅ 5 resolvedBug: Pagination slicing logic is incorrect (off-by-one)
Bug: Missing `impactLevel` in useMemo dependency for `columnImpactColumns`
Code Quality: Test mock data uses incorrect property name
Bug: getAggregateFieldOptions call uses incorrect signature
Edge Case: Sorter function may crash on undefined fullyQualifiedName
What Works Well
Recommendations
Tip Comment OptionsAuto-apply is off Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | This comment will update automatically (Docs) |
|
* fix(ui): impact analysis filter and sorting * support sorting and highlight to column level * fix dropdown issue * add debounce to search value * add coverage * fix tests * fix tests * update tests * fix sonar comment * Address PR review comments: fix useMemo dependencies and remove deprecated properties (#24981) * Initial plan * Address review comments: fix useMemo deps, remove deprecated props, fix test mocks Co-authored-by: chirag-madlani <12962843+chirag-madlani@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: chirag-madlani <12962843+chirag-madlani@users.noreply.github.com> * fix pagination logic --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* fix(ui): impact analysis filter and sorting * support sorting and highlight to column level * fix dropdown issue * add debounce to search value * add coverage * fix tests * fix tests * update tests * fix sonar comment * Address PR review comments: fix useMemo dependencies and remove deprecated properties (#24981) * Initial plan * Address review comments: fix useMemo deps, remove deprecated props, fix test mocks Co-authored-by: chirag-madlani <12962843+chirag-madlani@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: chirag-madlani <12962843+chirag-madlani@users.noreply.github.com> * fix pagination logic --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>



This pull request introduces several improvements and refactorings to the lineage and impact analysis features, focusing on streamlining column-level lineage representation, enhancing search/filter functionality, and updating related tests and constants. The most significant changes include standardizing the data model for column-level lineage, improving quick filter performance, and refactoring code for clarity and maintainability.
Column-level lineage and impact analysis improvements:
fromColumnandtoColumnfields in theColumnLevelLineageNodeinterface, replacing the previous nestedcolumnproperty. Updated all relevant usages, including table columns, constants, and test mocks, to use the new structure. [1] [2] [3] [4] [5]Search and filter enhancements:
optionPageSizeprop toExploreQuickFiltersand passed a large page size (AGGREGATE_PAGE_SIZE_LARGE) for aggregate field options, improving performance and usability when filtering large datasets. [1] [2] [3] [4] [5] [6]Codebase and API refactoring:
postAggregateFieldOptionsto accept a singleSearchRequestobject, consolidating parameters and improving maintainability.LineageTable, including switching fromgetPartialNameFromTableFQNtoFqn.splitfor FQN parsing. [1] [2] [3]Testing improvements:
LineageTable.test.tsxto match the new data structure and utility usage, ensuring tests remain accurate and maintainable. Also improved test selectors for menu interactions. [1] [2] [3] [4]Minor UI/UX fixes:
.selectable-list-itemin the user-select dropdown for a cleaner appearance.This pull request introduces several improvements and refactors to the lineage and quick filter components, focusing on enhancing column-level lineage analysis, optimizing quick filter aggregation, and improving code maintainability. The most impactful changes include restructuring the data model for column-level lineage, optimizing aggregation option fetching, and updating UI components for clarity and performance.Column-level lineage improvements:
ColumnLevelLineageNodeinterface to use flatfromColumnandtoColumnproperties instead of nested structures, simplifying data handling and improving clarity in the lineage table. [1] [2] [3] [4] [5] [6] [7]fromColumnandtoColumnfields, improved sorting, and streamlined the rendering of column and entity names, removing unnecessary utility dependencies. [1] [2] [3] [4] [5]Quick filter and aggregation optimization:
optionPageSizeprop to quick filter components, allowing for larger aggregation result sets (defaulting to 1000), and updated the aggregation fetching logic to support customizable page sizes. [1] [2] [3] [4] [5] [6] [7]UI/UX and performance enhancements:
Code cleanup and maintainability:
These changes collectively improve the scalability, maintainability, and user experience of the lineage and quick filter features.
Describe your changes:
Fixes
I worked on ... because ...
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
AGGREGATE_PAGE_SIZE_LARGEconstant for lineage impact analysis filterscolumn: { fromColumns, toColumn }to flatfromColumnandtoColumnproperties inColumnLevelLineageNodeinterfacelocaleComparefunctions for all columns in column impact tablegetSearchNameEsQuerycolumn-level aware, searchingcolumns.name.keywordandcolumns.displayName.keywordwhen in column-level modepostAggregateFieldOptionsfrom positional parameters to object destructuring pattern for better maintainabilityThis will update automatically on new commits.