<#676 fix: execution view children fetch on demand...
# flyte-github
a
#676 fix: execution view children fetch on demand refactor Pull request opened by olga-union Signed-off-by: Olga Nad olga@union.ai This fixes a previous refactor on node details UX by placing execution data into a single shared context between List, Graph and Timeline views (to avoid each view re-fetching already fetched data). However, the previous solution would front load the data b recursively fetching each execution's children which we found caused major issues for larger dynamic workflows. To fix this issue this PR will implement an on-demand fetch for dynamic workflows. Type ☑︎ Bug Fix ☐ Feature ☐ Plugin ☐ Chore Are all requirements met? ☑︎ Code completed ☑︎ Smoke tested ☑︎ Unit tests added ☐ Code documentation added ☐ Any pending items have an associated Issue Complete description • Removed childGroups fetch (recursive) from
ExecutionNodeViews
page • Moved childGroups fetch to
onToggle
in Table and Timeline components - requests trigger when user clicked on expander • Moved map tasks fetch to details page to back fill one-off nodeExecutions data, and to
ReactFlowGraphComponent
to batch them for all known nodeExecutions, so the graph is rendered properly (this will slow down the graph tab, but based on user's feedback, it's ok, if graph tab takes some time to load). • Updated Graph nesting logic to support unexpanded subworkflows at level 0 Known issues ☐ some unit tests are broken ☑︎ add childGroups fetch in graph on node click ☑︎ fix rerender of graph on childGroups fetch ☑︎ fix
compiledWorkflowClosure
to check for
is_dynamic
field (available in node execution's metadata) instead of pulling multiple requests on repeat ☐ test filters in Table tab ☑︎ display parent node as
nested
in graph to indicate it has children ☐ child task type stays in Loading state in the Details Sidebar Follow-up issue NA Test workflows • normal
core.control_flow.subworkflows.parent_wf
• dynamic
<http://core.control_flow.dynamics.wf|core.control_flow.dynamics.wf>
• nested parent
core.control_flow.subworkflows.nested_parent_wf
• map task
<http://flyte.workflows.example_map_task.wf|flyte.workflows.example_map_task.wf>
• small fan-out dynamic
<http://workflows.branching_dynamic_example.wf|workflows.branching_dynamic_example.wf>
flyteorg/flyteconsole Codecov: 67.18% (-0.45%) compared to ab91dfc Codecov: 56.80% of diff hit (target 67.62%) GitHub Actions: Build Flyteconsole Image / Push to Github Registry 5 other checks have passed 5/8 successful checks