amoghrajesh commented on code in PR #68974:
URL: https://github.com/apache/airflow/pull/68974#discussion_r3480072804


##########
providers/databricks/src/airflow/providers/databricks/operators/databricks.py:
##########
@@ -876,6 +909,46 @@ def 
_inject_openlineage_properties_into_databricks_job(self, json: dict, context
             )
             return json
 
+    def submit_job(self, context: Context) -> int:
+        normalised = self._prepare_submit_json(context)
+        # Set run_id the instant the run exists so on_kill can cancel it even 
if the worker dies
+        # before polling begins.
+        self.run_id = self._hook.submit_run(normalised)
+        self.log.info("Run submitted with run_id: %s", self.run_id)
+        return self.run_id
+
+    def get_job_status(self, external_id: int, context: Context) -> str:
+        # Databricks splits run state across life_cycle_state and 
result_state; the mixin's status
+        # interface is a single string, so encode both as "LIFE_CYCLE:RESULT" 
and decode them in
+        # is_job_active / is_job_succeeded.
+        run_info = self._hook.get_run(external_id)

Review Comment:
   Good catch, i will handle it the same way `SparkSubmitOperator` does: 
`get_job_status` will map a vanished run to a status that is neither active nor 
succeeded, so the mixin falls through to a fresh submit instead of failing the 
task.
   
   One issue specific to Databricks right now, the hook currently flattens 
every HTTP error into a generic AirflowException where the status code only 
survives as text in the message, so there is no clean way to detect a 404 at 
the operator level. Rather than string-match the message, I split a small hook 
change into its own PR: https://github.com/apache/airflow/pull/69019



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