ashb commented on code in PR #69998:
URL: https://github.com/apache/airflow/pull/69998#discussion_r4228580941


##########
providers/databricks/src/airflow/providers/databricks/plugins/databricks_workflow.py:
##########
@@ -374,13 +385,40 @@ class WorkflowJobRepairAllFailedLink(BaseOperatorLink, 
LoggingMixin):
 
     name = "Repair All Failed Tasks"
 
+    @property
+    def operators(self):
+        # On Airflow 3 a plugin extra link that declares no ``operators`` is 
replaced at
+        # deserialization by an ``XComOperatorLink`` that just returns a URL 
the task stored in
+        # XCom under ``xcom_key``. This link stores no such URL — it builds 
the URL at request time
+        # in ``get_link`` from the run's XCom metadata — so it must survive as 
the real object.
+        # Declaring the operators it applies to keeps it from being swapped 
out. Lazy import avoids
+        # a circular import with the operator module.

Review Comment:
   I think this is fine, but I also don't think the logic holds.
   
   Given the plugin includes a custom app, couldn't the link could be 
hard-coded to `/databricks/workflow/repair/...` with task_id etc pre-filled"?  



-- 
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