R-1340 second producer: a restore_mixed hold's Why() names the cause from its record (found live on rc.1: the hub's Held apps line said off-site/database for a local restore with no database) — test red first
gates / gates (push) Successful in 30s

This commit is contained in:
admin committed 2026-10-29 14:35:07 +01:00
1 parent 6077ac0083
commit 99fac06aa7
4 files changed
+80 -2

No files matched your search

+5
View File
@@ -29,6 +29,11 @@
after a later save of the running controller" — R-1343 reproduced), `TestR1343_TheBoxCommandFallsBackWhenNoControllerRuns`,
`TestR1343_TheFallbackDropsAWaitingPutBackToo`, `TestHoldCtl_NotReachableFromOutside`,
`TestHoldCtl_UnknownRequestIsRefused`, `TestHoldCtl_ANonSocketFileIsNotReplaced`.
- **R-1340, second producer (found live 2026-10-29 on rc.1, Tester 1):** the hold's `Why()` — the hub's „Held apps" line,
the box's `app_held` event and `--restore-holds` — still said „held after an off-site restore failed its database
replay" for a LOCAL restore of an app with no database. It is now built from the record (`RestoreKind`, `MixedCause`,
`FailedStep`, `DBReplay`); a record from before these fields gets the neutral „held after a restore stopped half-way".
Test `TestR1340_WhyNamesTheMixedCause` (13 assertions failed on the old sentence).
- **R-1340 — the operator's „HELD STOPPED" mail names the real cause** (`cmd/controller/holdmail.go`
`heldStoppedOperatorText`, built from the hold record). Hold writers now record `RestoreKind` (off-site / local),
`MixedCause` (`definition_write` / `put_back` / `interrupted_put_back`), `FailedStep` (the put-back step that failed,