Vamsi-klu commented on PR #70088: URL: https://github.com/apache/airflow/pull/70088#issuecomment-5300867724
@eladkal I took the second option from my last comment and added deferrable execution here rather than deferring it to a follow-up, so there is no open question left on this PR. Pushed \`2f6b872103\`: - \`DatabricksHook.a_get_warehouse\` / \`a_get_warehouse_state\`, mirroring the existing \`a_get_cluster_state\` pair. - \`DatabricksWarehouseStateTrigger\`, next to the two triggers the provider already has. It reuses \`validate_deferrable_databricks_retry_args\` so unserializable \`retry_args\` fail at construction rather than at the serialization boundary. - \`deferrable\` on both operators, defaulting to \`[operators] default_deferrable\`. The worker still issues the start/stop request and still short-circuits when the warehouse is already at the target state; only the wait moves to the triggerer. \`wait_for_termination\`, \`polling_period_seconds\` and \`timeout\` keep their current meaning, so this is additive for anyone using the operators as they stand today. The deferred deadline is passed as an absolute wall-clock \`end_time\`, matching \`DatabricksSQLStatementExecutionTrigger\`, because a \`time.monotonic()\` value is not comparable once it crosses into the triggerer process. The synchronous path still uses \`time.monotonic()\`. Also merged latest main, and resolved the three threads from your review that \`727bfc3\` had already addressed. Validation: full Databricks provider suite \`906 passed, 12 skipped\`; mypy clean on the three changed source files; prek pre-commit and manual hooks pass on the changed files. New coverage is for the trigger (serialize round-trip, retry-args rejection, target state, deleted state, timeout, sleep between polls), the async hook methods, and the operator deferrable paths (defers after requesting the transition, does not defer when already at target or when \`wait_for_termination=False\`, and \`execute_complete\` success/failure). --- Drafted-by: Cursor Agent (Opus 5) (no human review before posting) -- 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]
