Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Move CloudComposerExternalTaskSensor task-id wrapping out of __init__ - #73103

Open
KingLizard1020 wants to merge 1 commit into
apache:mainfrom
KingLizard1020:cursor/composer-external-task-sensor-init-1c0a
Open

Move CloudComposerExternalTaskSensor task-id wrapping out of __init__#73103
KingLizard1020 wants to merge 1 commit into
apache:mainfrom
KingLizard1020:cursor/composer-external-task-sensor-init-1c0a

Conversation

@KingLizard1020

Copy link
Copy Markdown

CloudComposerExternalTaskSensor inspected templated task-id arguments in __init__: it converted an empty list to unset, wrapped composer_external_task_id into composer_external_task_ids, and used truthiness to choose Dag vs task state validation.

Those value reads now run after rendering in poke() / execute() via _normalize_external_task_ids. An empty composer_external_task_ids=[] is treated as unset before exclusivity and dag-vs-task state checks, matching the previous constructor. Duplicate-state checks on non-templated allowed_states / skipped_states / failed_states stay in __init__. The exemption entry is removed.

related: #70296


Was generative AI tooling used to co-author this PR?
  • Yes — Cursor

Generated-by: Cursor following the guidelines

@boring-cyborg

boring-cyborg Bot commented Sep 13, 2026

Copy link
Copy Markdown

Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide
Here are some useful points:

  • Pay attention to the quality of your code (ruff, mypy and type annotations). Our prek-hooks will help you with that.
  • In case of a new feature add useful documentation (in docstrings or in docs/ directory). Adding a new operator? Check this short guide Consider adding an example Dag that shows how users should use it.
  • Consider using Breeze environment for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations.
  • Be patient and persistent. It might take some time to get a review or get the final approval from Committers.
  • Please follow ASF Code of Conduct for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack.
  • Be sure to read the Airflow Coding style.
  • Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits.
    Apache Airflow is a community-driven project and together we are making it better 🚀.
    In case of doubts contact the developers at:
    Mailing List: [email protected]
    Slack: https://s.apache.org/airflow-slack

Template fields are rendered after the constructor, so wrapping a task id
into a list or treating an empty list as unset inspects the un-rendered
Jinja expression and keeps the class on the exemption list.
@cursor
cursor Bot force-pushed the cursor/composer-external-task-sensor-init-1c0a branch from acbd684 to bd5682c Compare September 13, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools area:providers backport-to-v3-3-test Backport to v3-3-test provider:google Google (including GCP) related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant