Repository navigation
Conversation
e6f7cf3 to
a5a6d00
Compare
A sensor running poke() only skips on soft_fail when it times out or asks to fail outright; every other error fails the task, so a misconfigured sensor is visible. The same sensor in deferrable mode skipped on any error, including a crashed trigger, which left users unable to tell a sensor that legitimately gave up from one that never worked. closes: apache#71255
a5a6d00 to
028148b
Compare
|
+1, would love to see this merged |
|
Hello @rjgoyln - thank you for your contributions to Apache Airflow! The Airflow community has introduced a limit of 5 open pull requests at a time for contributors without write access to the repository. You currently have 24 open pull requests, so - as a one-time step of introducing the limit - we closed the ones where maintainers have not engaged yet:
These pull requests stay open because maintainers are already engaged in them - they count towards your limit:
This is not a judgement of you or of your changes. We never told contributors before that opening many pull requests at once was a problem, so there is nothing to feel bad about - and nothing is lost: your branches, commits and the review history stay where they are. What we ask you to do is to make your first prioritization decision: choose which of the pull requests above matter most to you, and reopen them (up to 5 open at a time, including the ones still open) with the "Reopen pull request" button or While your pull requests are waiting for review, the most valuable thing you can do is help in other ways - reviewing other contributors' pull requests, helping with issues, and taking part in the discussions on the devlist and Slack. Why we introduced the limit, what it means for you and how to reopen or restore a pull request is explained in https://github.com/apache/airflow/blob/main/contributing-docs/32_open_pull_request_limit.rst. Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting |
Summary
While poking, a sensor with
soft_fail=Trueskips only on a timeout orAirflowFailExceptionand 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_failnow covers the same exceptions in both paths;never_failis unchanged.Narrowing the handler also picks up
AirflowTaskTimeout, which derives fromBaseExceptionand so escaped the previousexcept AirflowExceptionentirely — a deferred sensor that hit itsexecution_timeoutfailed even withsoft_failset.Behavior change
A deferrable sensor with
soft_fail=Truethat raises a plainAirflowExceptionfromexecute_completenow fails instead of skipping. Sensors that raiseAirflowSkipExceptionthemselves, such asExternalTaskSensorandTimeDeltaSensor, are unaffected.closes: #71255
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 5) following the guidelines