fix: propagate error in ArrayNode output gathering#6860
fix: propagate error in ArrayNode output gathering#6860Sanchit2662 wants to merge 2 commits intoflyteorg:masterfrom
Conversation
Signed-off-by: Sanchit2662 <sanchit2662@gmail.com>
|
Thank you for opening this pull request! 🙌 These tips will help get your PR across the finish line:
|
|
Hi @machichima , |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6860 +/- ##
==========================================
- Coverage 56.96% 56.95% -0.01%
==========================================
Files 929 929
Lines 58152 58152
==========================================
- Hits 33125 33120 -5
- Misses 21985 21990 +5
Partials 3042 3042
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Hi @Sanchit266, |
|
Hi @machichima, I verified this locally by simulating the case where a subnode is marked Succeeded Running: Now results in: This confirms the output read error is correctly propagated instead of being
|
|
Thanks @Sanchit2662! |

Summary
This PR fixes a silent error propagation bug in the ArrayNode worker output-gathering path (
flytepropeller/pkg/controller/nodes/array/worker.go).Due to a hardcoded
nilbeing returned on the response channel, errors encountered while reading sub-node outputs were silently discarded, leading to workflows completing successfully with missing or corrupted outputs.This is a one-character fix that restores correct error propagation and aligns the behavior with the existing node execution handling logic.
Fix
Return the actual captured error instead of hardcoding
nil:This mirrors the already-correct behavior used for
nodeExecutionRequestearlier in the same worker loop and ensures consistent error handling.Impact
Before
After
This affects all Flyte deployments using ArrayNodes, which is a core execution primitive.
How was this patch tested?
nodeExecutionRequesterror handling logicworkerErrorCollectorcorrectly captures and reports the error after the fixNo new tests were added due to the minimal and localized nature of the change, but the behavior now matches the established and already-tested execution path.
Labels
Checklist