Skip to content

Fix empty audit log dag_id for DAG.cli() subcommands - #73379

Closed
Eason09053360 wants to merge 1 commit into
apache:mainfrom
Eason09053360:fix-dag-cli-audit-log-missing-dag-id
Closed

Eason09053360 wants to merge 1 commit into
apache:mainfrom
Eason09053360:fix-dag-cli-audit-log-missing-dag-id

Conversation

@Eason09053360

Copy link
Copy Markdown
Contributor

Why

DAG.cli()'s parser strips dag_id, but action_cli snapshots the namespace and writes the Log row before the handler runs. Audit rows for python my_dag.py dags pause and the five other DAG.cli() subcommands land with dag_id NULL not filterable by Dag, and under core.multi_team the team_name derived from it is lost too. The handlers' own back-fills run after that insert.

What

DAG.cli() now sets args.dag_id before dispatch. Every affected handler receives the Dag positionally and reads args.dag_id only behind a dag or ... short-circuit, so nothing but the audit row changes. The test goes through tasks list, the one affected handler that does not back-fill dag_id itself.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5)

Generated-by: Claude Code (Opus 5) following the guidelines

@Eason09053360
Eason09053360 force-pushed the fix-dag-cli-audit-log-missing-dag-id branch 2 times, most recently from 702d7dc to 0563fcd Compare September 22, 2026 05:48
The Dag file is its own entry point on this path, so the parser behind
DAG.cli() drops dag_id - there is nothing for the user to type. But
action_cli snapshots the namespace and writes the Log row before the
handler runs, so every audit row for python my_dag.py dags pause and its
five sibling subcommands lands with dag_id NULL: the event cannot be
filtered by Dag, and in multi-team mode team_name is resolved from
dag_id, so it also drops out of the owning team's view.

The back-fills already inside set_is_paused, dag_list_dag_runs and
dag_list_jobs cannot cover this. They run after that insert has been
committed, and they write to the namespace rather than to the metrics
dict that was built from it.

Every one of the six subcommands receives the Dag positionally and
reads args.dag_id only behind a dag or ... short-circuit, so supplying
it changes no control flow - only what the audit row records.
@Eason09053360
Eason09053360 force-pushed the fix-dag-cli-audit-log-missing-dag-id branch from 0563fcd to 072113e Compare September 25, 2026 03:22
This was referenced Sep 25, 2026
@potiuk potiuk added the closed because of open PR limit Closed as a one-time step of introducing the open pull request limit label Sep 25, 2026
@potiuk

potiuk commented Sep 25, 2026

Copy link
Copy Markdown
Member

Hello @Eason09053360 - 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 33 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 gh pr reopen <PR_NUMBER> --repo apache/airflow. Reopen the ones you are ready to follow through - keep them rebased, respond to review comments and fix failing checks.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:task-sdk closed because of open PR limit Closed as a one-time step of introducing the open pull request limit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants