Skip to content

Upload task logs even when final state update fails - #67935

Merged
kaxil merged 3 commits into
apache:mainfrom
manipatnam:fix/upload-logs-when-state-update-fails
Jun 15, 2026
Merged

Upload task logs even when final state update fails#67935
kaxil merged 3 commits into
apache:mainfrom
manipatnam:fix/upload-logs-when-state-update-fails

Conversation

@manipatnam

Copy link
Copy Markdown
Contributor

When a task subprocess exits, the supervisor first updates the task's terminal state and then uploads the remote logs. If the state update raised (for example, a transient API error talking to the API server), the log upload was skipped entirely — yet a failed state update is exactly when the logs are most needed for debugging.

This moves the _upload_logs() call into a finally block so logs are always uploaded, while the original state-update exception still propagates to the caller. _upload_logs() already swallows and logs its own errors, so the finally cannot mask the state-update failure.

Added a test (test_logs_uploaded_even_when_state_update_fails) covering: state update raises → logs still uploaded → original exception propagates.

(task-sdk change; ships in airflow-core.)


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

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

When a task subprocess exits, the supervisor updates the task's terminal
state and then uploads the remote logs. If the state update raised (e.g. a
transient API error), log upload was skipped entirely — yet a failed state
update is exactly when the logs are most needed for debugging.

Run the log upload in a `finally` block so it always happens, while the
original state-update exception still propagates to the caller.
@potiuk potiuk added the ready for maintainer review Set after triaging when all criteria pass. label Jun 3, 2026
@eladkal eladkal added this to the Airflow 3.3.0 milestone Jun 7, 2026
@eladkal eladkal added the type:bug-fix Changelog: Bug Fixes label Jun 7, 2026

@jscheffl jscheffl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me looks good and we have also seem a couple of cases where logs have missed. But would be good ahving another reviewer view on this.

@kaxil
kaxil merged commit 033aeb1 into apache:main Jun 15, 2026
115 checks passed
imrichardwu pushed a commit to imrichardwu/airflow that referenced this pull request Jun 16, 2026
When a task subprocess exits, the supervisor updates the task's terminal
state and then uploads the remote logs. If the state update raised (e.g. a
transient API error), log upload was skipped entirely — yet a failed state
update is exactly when the logs are most needed for debugging.

Run the log upload in a `finally` block so it always happens, while the
original state-update exception still propagates to the caller.

Co-authored-by: AI Assistant <bot@antigravity.dev>
dingo4dev pushed a commit to dingo4dev/airflow that referenced this pull request Jun 16, 2026
When a task subprocess exits, the supervisor updates the task's terminal
state and then uploads the remote logs. If the state update raised (e.g. a
transient API error), log upload was skipped entirely — yet a failed state
update is exactly when the logs are most needed for debugging.

Run the log upload in a `finally` block so it always happens, while the
original state-update exception still propagates to the caller.

Co-authored-by: AI Assistant <bot@antigravity.dev>
RulerChen pushed a commit to RulerChen/airflow that referenced this pull request Jun 16, 2026
When a task subprocess exits, the supervisor updates the task's terminal
state and then uploads the remote logs. If the state update raised (e.g. a
transient API error), log upload was skipped entirely — yet a failed state
update is exactly when the logs are most needed for debugging.

Run the log upload in a `finally` block so it always happens, while the
original state-update exception still propagates to the caller.

Co-authored-by: AI Assistant <bot@antigravity.dev>
@manipatnam
manipatnam deleted the fix/upload-logs-when-state-update-fails branch June 30, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:task-sdk ready for maintainer review Set after triaging when all criteria pass. type:bug-fix Changelog: Bug Fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants