uranusjr commented on code in PR #75405:
URL: https://github.com/apache/airflow/pull/75405#discussion_r4385234507


##########
task-sdk/src/airflow/sdk/importers/yaml_importer/builder.py:
##########
@@ -105,11 +105,46 @@ def build(self, doc: DagDocument) -> DAG:
             for task in doc.tasks:
                 for upstream in sorted(task.get_dependency_ids()):
                     self._operators[upstream] >> self._operators[task.id_]
+        self._validate_stub_handlers(doc)
         dag.bundle_name = self._bundle.name
         dag.fileloc = repr(self._definition)
         dag.relative_fileloc = 
self._definition.get_relative_loc(self._bundle.path)
         return dag
 
+    def _validate_stub_handlers(self, doc: DagDocument) -> None:

Review Comment:
   Split into two so only `parse_task_handler` is a public override point. 
Execution-time callable resolution is specific to Python, so `resolve_handler` 
now only lives on PythonCoordinator. `parse_task_handler` now also takes the 
stub’s own bundle, so colocated handlers validate at parse too.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to