acoustic-carpenter-78188
08/07/2023, 6:33 PMmaptask
executions are completely recomputed in the event of a workflow recovery. This is because subtask execution state is maintained using an ExternalResourceInfo
field within the TaskExecutionClosure
. The recovery mechanism only looks at the top-level status, namely whether the entire task has completed successfully or not, and therefore cannot recover individual successful subtask executions.
Goal: What should the final outcome look like, ideally?
The workflow recovery paradigm should work with maptasks
. Since the introduction of ArrayNode this is possible because recovery can be performed at the node-level. An ArrayNode
could query state of each subtask and initialize the subtask execution metadata by recovering previously successful subtask executions.
Describe alternatives you've considered
Leaving it as is may result in unintended behavior and unnecessary duplication of subtask executions on workflow execution recovery.
Propose: Link/Inline OR Additional context
No response
Are you sure this issue hasn't been raised already?
☑︎ Yes
Have you read the Code of Conduct?
☑︎ Yes
flyteorg/flyte