Vamsi-klu opened a new pull request, #71997:
URL: https://github.com/apache/airflow/pull/71997
# Consume every queued asset event from concurrent mapped outlets
closes: #54659
## What I did
Tests only. Mapped producer `@task(outlets=[asset]).expand(...)` succeeds,
then one scheduler tick. Assert all N events land on the consumer run and in
`triggering_asset_events`. No production change. No newsfragment.
## Why I did
Three mapped outlets were finishing together and the consumer only saw a
subset in `triggering_asset_events`. Consume-by-event-id is already on main.
Existing tests still insert ADRQ by hand, so they never covered this emit path.
## How I did
Emit: `dag_maker.run_ti(..., map_index=N)` → `register_asset_changes_in_db`.
Consume: `SchedulerJobRunner._create_dagruns_for_dags`.
Context: `get_template_context` after loading `consumed_asset_events`.
One tick batches all visible events. That is the default, not a bug.
Leftovers stay for the next tick.
## What's the impact
None at runtime. If the mapped emit path regresses, these tests fail instead
of silently dropping events.
## What's the testing
`airflow-core/tests/unit/jobs/test_scheduler_job.py`
- `test_mapped_outlet_asset_events_consumed_in_one_tick`
- `test_mapped_outlet_asset_events_consumed_across_staggered_ticks`
- `test_mapped_outlet_asset_events_same_timestamp_are_all_consumed`
- `test_mapped_outlet_asset_events_and_condition_waits_for_all_assets`
- `test_mapped_outlet_asset_alias_events_are_all_consumed`
```
uv run --project airflow-core pytest
airflow-core/tests/unit/jobs/test_scheduler_job.py \
-k test_mapped_outlet -q
```
---
##### Was generative AI tooling used to co-author this PR?
- [x] Yes (Grok 4.6)
Generated-by: Grok 4.6 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]