eschutho commented on PR #42624: URL: https://github.com/apache/superset/pull/42624#issuecomment-5148451895
Pushed `4b1ec359f9` adjusting the budget semantics to minimize the upstream behavior change: - **Default budget is now one hour (3600s) instead of 15 minutes**, matching the historical effective ceiling: before this PR, the only end-to-end bound was Celery limits derived from `working_timeout`, whose model default is one hour. With this default, upgrading changes no default installation's maximum report runtime — reports gain clean deadline failures, phase reserves, and the readiness fix without a new time ceiling. Deployments wanting a tighter SLA (e.g. 900s) lower the config value. - **The per-schedule `working_timeout` field keeps its meaning for reports**: the effective budget is `min(ALERT_REPORTS_EXECUTION_BUDGET_SECONDS, working_timeout)`, centralized in a new `resolve_report_execution_budget_seconds()` used by the Celery limit derivation, the deadline construction, and stale-WORKING detection (which previously carried its own inline `min` — now all three share one number). Previously the branch ignored `working_timeout` for reports entirely, which would have silently *extended* schedules whose owners configured a short kill time. A `working_timeout` below the summed phase reserves is floored at reserves + 30s with a warning (fails cleanly at the first phase check instead of erroring at context construction). - **Added the missing `UPDATING.md` entry** for the semantics change (Celery limits for REPORT types no longer use `working_timeout + lag`; the lag settings now apply to alerts only), and documented the infrastructure sizing rules in the docs page: pod termination grace must exceed budget + hard grace or in-flight reports die on deploys/drains; the web server's per-request timeout bounds individual chart requests, not the report total. Tests: 5 new cases for the resolver (cap, no-raise above budget, None passthrough, floor-with-warning, Celery alignment at the cap); the recovery-bound test updated to exercise a deployment-tightened 900s budget explicitly rather than asserting the global default. `tests/unit_tests/utils/` + `commands/report/` + `initialization_test.py`: **1,054 passed**; ruff clean. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
