TimurRakhmatullin86 opened a new pull request, #69639:
URL: https://github.com/apache/airflow/pull/69639

   `AwaitMessageTriggerFunctionSensor` accepts a `timeout` parameter and its 
docstring promises "Time elapsed before the task times out and fails", but 
neither `defer()` call passed `timeout=`, so the trigger could wait 
indefinitely and the parameter was silently ignored.
   
   This applies the same fix that was merged for the sibling 
`AwaitMessageSensor` in #62104 (issue #62097): convert the numeric sensor 
timeout to a `timedelta` and pass it to `defer()` — here in both `execute` and 
`execute_complete`, since this sensor re-defers after every processed event.
   
   **Semantics note:** because this sensor re-defers indefinitely by design, 
the timeout applies to each await cycle rather than to total task runtime — 
i.e. the task fails (or skips, with `soft_fail=True`) if no matching message 
arrives within `timeout` seconds of the most recent deferral. Total-elapsed 
semantics would unconditionally kill a healthy, indefinitely-running sensor, so 
per-cycle is the useful interpretation; happy to adjust if maintainers prefer 
otherwise.
   
   On deferral timeout the standard sensor machinery converts 
`TaskDeferralTimeout` into `AirflowSensorTimeout`, and `soft_fail` is honored.
   
   Adds a regression test asserting the timeout is forwarded on both deferral 
paths (it was `None` before this fix).
   


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