<#6860 fix: propagate error in ArrayNode output ga...
# flyte-github
a
#6860 fix: propagate error in ArrayNode output gathering Pull request opened by 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
nil
being 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`: // After gatherOutputsRequest.responseChannel <- struct { literalMap map[string]*idlcore.Literal error }{literalMap, err} This mirrors the already-correct behavior used for
nodeExecutionRequest
earlier in the same worker loop and ensures consistent error handling. --- Impact Before • Output read failures silently ignored • Workflows succeed with incorrect or missing data • Downstream task behavior becomes nondeterministic • Production issues are extremely difficult to diagnose After • Output gathering errors are properly propagated • Workflows fail explicitly and predictably • Retry / failure semantics behave as expected • No silent data corruption This affects all Flyte deployments using ArrayNodes, which is a core execution primitive. --- How was this patch tested? • Manually verified error propagation path by inducing output read failures • Confirmed consistency with
nodeExecutionRequest
error handling logic • Ensured
workerErrorCollector
correctly captures and reports the error after the fix No 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 • fixed --- Checklist • I updated the documentation accordingly. • All new and existing tests passed. • All commits are signed-off. flyteorg/flyte