shahar1 opened a new pull request, #76126: URL: https://github.com/apache/airflow/pull/76126
Backport of #76125 to `airflow-ctl/v0-1-test` for 0.1.6. airflowctl builds its HTTP client without a timeout, so httpx's 5-second default applies. A busy API server can take longer to answer a PATCH or POST (first `dags update` or `dags trigger` right after the scheduler picked up a run of the same Dag); write requests are not retried after a timeout, so the CLI exits 1 with `Read timeout error: timed out ... The PATCH request failed, but it may already have been applied on the server.` This is the `dags update` flake of `Airflow CTL integration tests with PROD image` (run 41184063822) and reproduces on any loaded host with 3.2.2, 3.3.2 and 3.4.0rc2 servers. Same change as on `main`: 30-second read/write/pool timeout, connect timeout kept at 5 seconds, tunable with `AIRFLOW_CLI_API_TIMEOUT` (validated by the existing `_get_int_env` helper like the retry knobs), explicit `timeout=` still wins. Cherry-pick applied cleanly; the branch has the same helper, constants block and docs section. Tested on the branch: `uv run --project airflow-ctl pytest airflow-ctl/tests`: 592 passed. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Fable 5.1, with Sonnet 5.5 and Opus 5.5 subagents) Generated-by: Claude Code (Fable 5.1) 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]
