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]

Reply via email to