-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat(graphql,ui): Add Runs tab for DataFlow entities #15775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ype resolver This commit completes the DataFlow runs tab feature by adding missing schema registration and type resolver configuration: 1. Added RUNS_SCHEMA_FILE constant to Constants.java 2. Registered runs.graphql schema file in GmsGraphQLEngine builder 3. Added HasExecutionRuns interface type resolver for DataFlow and DataJob Without these changes, the runs.graphql schema was never loaded by the GraphQL engine, causing 'Field runs in type DataFlow is undefined' errors.
|
✅ Meticulous spotted 0 visual differences across 967 screens tested: view results. Meticulous evaluated ~8 hours of user flows against your PR. Expected differences? Click here. Last updated for commit 95baed6. This comment will update as new commits are pushed. |
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (16.66%) is below the target coverage (75.00%). You can increase the patch coverage or adjust the target coverage. 📢 Thoughts on this report? Let us know! |
Backend tests (ExecutionRunsResolverTest.java): - testGetRunsForDataFlowSuccess: End-to-end success for DataFlow parent - testGetRunsForDataJobSuccess: End-to-end success for DataJob parent - testFilterAndSortCriteriaForDataFlow: Verifies parentTemplate + hasRunEvents filter - testPaginationParameters: Verifies pagination params are correctly passed - testEmptyResults: Handles zero runs gracefully - testExceptionHandling: Verifies RemoteInvocationException handling - testHandlesNullEntityInBatchGet: Filters out null/deleted entities Frontend tests (RunsTab.test.tsx): - renders loading state initially - renders table headers after loading - renders empty table when no runs
016f1c4 to
95baed6
Compare
Bundle ReportChanges will increase total bundle size by 311 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: datahub-react-web-esmAssets Changed:
Files in
|
Summary
This PR adds support for displaying pipeline execution runs (history) in the DataFlow entity profile page. This enables users to track and monitor Azure Data Factory pipeline run history directly within DataHub.
Changes
GraphQL Schema (by @asikowitz)
runs.graphqlschema withHasExecutionRunsinterfaceDataFlowandDataJobtypes to implementHasExecutionRunsruns(start: Int, count: Int)field returning paginatedDataProcessInstanceResultBackend GraphQL Resolver
DataJobRunsResolvertoExecutionRunsResolverfor reuse across entity typesDataProcessInstanceentities by:parentTemplatefield (links runs to their parent DataFlow/DataJob)hasRunEventsto ensure only instances with actual run events are returnedcreatedtimestamp in descending order (most recent first)DataFlowandDataJobtypesBackend Schema Registration Fix
RUNS_SCHEMA_FILEconstant toConstants.javaruns.graphqlinGmsGraphQLEnginebuilderHasExecutionRunsinterface type resolver for proper GraphQL type resolutionFrontend UI
DataFlowEntity.tsx(entityV2)RunsTab.tsxto use the new genericgetExecutionRunsqueryTests
ExecutionRunsResolverTest.java- 7 unit tests covering:RunsTab.test.tsx- 3 unit tests covering:Screenshots
DataFlow Runs Tab
The Runs tab displays:
Testing
./gradlew :datahub-graphql-core:test --tests "com.linkedin.datahub.graphql.resolvers.jobs.ExecutionRunsResolverTest"./gradlew :datahub-web-react:yarnTest -Pfile=src/app/entityV2/dataJob/tabs/__tests__/RunsTab.test.tsxChecklist
HasExecutionRunsinterfaceExecutionRunsResolverwith proper filteringGmsGraphQLEngineHasExecutionRunsinterface