rjgoyln opened a new pull request, #72053: URL: https://github.com/apache/airflow/pull/72053
## Summary While poking, a sensor with `soft_fail=True` skips only on a timeout or `AirflowFailException` and fails on anything else, so a misconfigured sensor is visible as a failure. In deferrable mode it skipped on every error it saw when resuming, a crashed trigger included, leaving a sensor that never worked indistinguishable from one that legitimately gave up. `soft_fail` now covers the same exceptions in both paths; `never_fail` is unchanged. Narrowing the handler also picks up `AirflowTaskTimeout`, which derives from `BaseException` and so escaped the previous `except AirflowException` entirely — a deferred sensor that hit its `execution_timeout` failed even with `soft_fail` set. ## Behavior change A deferrable sensor with `soft_fail=True` that raises a plain `AirflowException` from `execute_complete` now fails instead of skipping. Sensors that raise `AirflowSkipException` themselves, such as `ExternalTaskSensor` and `TimeDeltaSensor`, are unaffected. closes: #71255 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5) Generated-by: Claude Code (Opus 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]
