v0.335.0: no app stop for a tier the agent will refuse because its host is busy (host_busy pre-check, R-921)
gates / gates (push) Successful in 53s
gates / gates (push) Successful in 53s
This commit is contained in:
@@ -1410,6 +1410,12 @@ The nightly backup has two phases that run sequentially. All paths are **per-dri
|
||||
> the three daily legs via `scheduler.UpdateDaily` and takes effect **without a restart**. Precedence:
|
||||
> settings > controller.yaml `db_dump_schedule` > "02:30". See `internal/backupwindow`.
|
||||
|
||||
> **Check first, stop second (v0.305.0 / v0.335.0, R-921).** Before any app is stopped for a whole-guest tier the loop
|
||||
> asks the agent whether it would refuse: another tier's job in flight (`GET /backup/status?target=…`), or — with an
|
||||
> agent that serves it — its host-wide heavy-operation gate held (`host_busy`: another guest's backup, the restore
|
||||
> test, the night OS step). Then no app is stopped; a held gate is recorded as contention (retry in 15 min, one
|
||||
> „BLOCKED" alarm after 3 h). An agent without `host_busy` keeps the old order (stop, ask, resume at once on 409).
|
||||
|
||||
> **Absent-storage tier skip (v0.243.0, R-518).** A tier whose storage the agent (≥ 0.131.0) reports `absent` is dropped from the manual and the scheduled run before anything is stopped (`quiesce.skipAbsentTiers`), logged, and reported once as `backup_tier_skipped`. `unknown` or a legacy agent is never skipped.
|
||||
|
||||
> **OOM visibility (v0.243.0, R-514).** The 30 s dead-app check also reads `State.OOMKilled` for running app containers (`Manager.ScanOOMKilled`); the dashboard shows „Memória elfogyott" and the hub gets `app_oom` once per container run. The controller does not restart the app.
|
||||
|
||||
Reference in New Issue
Block a user