An Hoang
07/27/2021, 10:03 PM21:15:07 | ERROR | Failed to retrieve task state with error: ClientError([{'path': ['get_or_create_task_run_info'], 'message': 'Expected type UUID!, found ""; Could not parse UUID: ', 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'message': 'Expected type UUID!, found ""; Could not parse UUID: ', 'locations': [{'line': 2, 'column': 101}], 'path': None}}}])
Traceback (most recent call last):
File "/lab/corradin_biobank/FOR_AN/OVP/corradin_ovp_utils/.venv/lib/python3.8/site-packages/prefect/engine/cloud/task_runner.py", line 154, in initialize_run
task_run_info = self.client.get_task_run_info(
File "/lab/corradin_biobank/FOR_AN/OVP/corradin_ovp_utils/.venv/lib/python3.8/site-packages/prefect/client/client.py", line 1721, in get_task_run_info
result = self.graphql(mutation) # type: Any
File "/lab/corradin_biobank/FOR_AN/OVP/corradin_ovp_utils/.venv/lib/python3.8/site-packages/prefect/client/client.py", line 564, in graphql
raise ClientError(result["errors"])
prefect.exceptions.ClientError: [{'path': ['get_or_create_task_run_info'], 'message': 'Expected type UUID!, found ""; Could not parse UUID: ', 'extensions': {'code': 'INTERNAL_SERVER_ERROR', 'exception': {'message': 'Expected type UUID!, found ""; Could not parse UUID: ', 'locations': [{'line': 2, 'column': 101}], 'path': None}}}]
1. `Error: Task function was not provided required {parameter}`: Some upstream task was skipped and thus result were not passed down.
2. Setting up non-data dependency: the difference between
a. task_A.map(param1=param1); task_A.set_upstream(task_B)
b. task_A.map(param1=param1, upstream_task = [task_B])
c. task_A_result =task_A.map(param1=param1); task_A_result.set_upstream(task_B)
(First one is wrong, it will create another different instance of task_B
and task_A
unmapped, second one expects task_B
to return iterable and will error if it doesn't, third one is correct if task_B
doesn't return iterable.
4. In general, one of the best ways in debugging tasks' dependencies (when you have unit-tested each task independently) in a flow is to run it locally using flow_result = flow.run()
and then visualize with flow.visualize(flow_state= flow_result)
Kevin Kho
An Hoang
07/27/2021, 10:42 PM