Hi all, does Recover on dynamic task work properly, we have a dynamic task that returns a Dict with following
sample_name: sample_workflow_results
. When some sample fails and we recover, unfortunately the output mapped dict is all shuffled up and no longer matches with the sample_name key.
For example we expect the certain dynamic task returns
filename -> filename-suffix
map like below
{
"counter_1":1,
"counter_2":2,
"counter_3":3,
"counter_4":4,
"counter_5":5,
"counter_6":6
}
and i forcefully fail some tasks and some successfully completes. Then when i recover i got this instead
{
"counter_1":5,
"counter_2":6,
"counter_3":3,
"counter_4":4,
"counter_5":5,
"counter_6":4
}
example dynamic task is below
@dynamic(cache=True, cache_version=get_workflow_version())
def compute_average_for_chunks(
chunks: Dict[str, FlyteFile], infile: FlyteFile
) -> Dict[str, int]:
suffix_dict = {}
for chunk_name, chunk_path in chunks.items():
infile_suffix = get_file_suffix_task(chunk_path=chunk_path, infile=infile)
suffix_dict[chunk_name] = infile_suffix
return suffix_dict