Skip to content

Upload task logs even when final state update fails#67935

Open
manipatnam wants to merge 3 commits into
apache:mainfrom
manipatnam:fix/upload-logs-when-state-update-fails
Open

Upload task logs even when final state update fails#67935
manipatnam wants to merge 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
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants