dabla opened a new pull request, #75271: URL: https://github.com/apache/airflow/pull/75271
Follow-up to #74673, addressing @amoghrajesh's post-merge [review comment](https://github.com/apache/airflow/pull/74673#pullrequestreview-5596067358). The `common.compat` `ResumableJobMixin` stand-in annotated `durable: bool` but defaulted it to an `object()` sentinel, typed `Any` only to keep mypy quiet. It now defaults to `None`: - **The annotation tells the truth.** `bool | None` is what the argument actually takes. `bool | Any` or `Any` would also be honest, but a union with `Any` switches type checking off for the argument, so `durable="yes"` would pass. - **One convention for "not set".** The operators using the mixin (Glue, Redshift Data, Livy, Spark Submit, Databricks, BigQuery, Snowflake) already declare `durable: bool | None = None` and only forward `durable` when it is not `None`. The stand-in now reads "not set" the same way. No behaviour change: below Airflow 3.3, leaving `durable` out stays silent and an explicit `durable=True/False` still warns that it has no effect. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (please specify the tool below) Generated-by: Claude Code (Opus 5.5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
