burn-down night watches: R-872 05:00 run worked as designed but silently (Tester 2 34.8 h old) — early returns now log why, check re-dated 2026-10-07; R-887: 2 lost jobs, both re-run green; session report
gates / gates (push) Successful in 2m17s
gates / gates (push) Successful in 2m17s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -346,11 +346,21 @@ const (
|
||||
// expected_dbdump_missed and one expected_backup_missed, each only past its longer line, and never for a box that
|
||||
// was bound or first reported less than downDumpMissedAfter ago (nothing has been expected yet).
|
||||
func judgeDownCustomer(s *store.Store, id string, now time.Time, onEvent EventNotifyFunc, logger *log.Logger) (backupMissed, dbdumpMissed int) {
|
||||
// Each early return says so in the log: the 2026-10-06 05:00 night watch saw only "1 skipped (down)" and could not
|
||||
// tell "judged, nothing missed" from "too young to judge" (Tester 2, first report 34.8 h before). Pinned by
|
||||
// TestR872_DownButTooYoungIsLogged.
|
||||
if bound, err := s.HasEverBoundHost(id); err == nil && !bound {
|
||||
logger.Printf("[INFO] Deadline check: %s is DOWN — not judged: no host was ever bound", id)
|
||||
return 0, 0
|
||||
}
|
||||
first, ferr := s.GetFirstHostReportAt(id)
|
||||
if ferr != nil || first.IsZero() || now.Sub(first) < downDumpMissedAfter {
|
||||
age := "unknown"
|
||||
if ferr == nil && !first.IsZero() {
|
||||
age = now.Sub(first).Round(time.Minute).String()
|
||||
}
|
||||
logger.Printf("[INFO] Deadline check: %s is DOWN — not judged yet: first host report %s ago (under %s, nothing expected yet)",
|
||||
id, age, downDumpMissedAfter)
|
||||
return 0, 0
|
||||
}
|
||||
raise := func(typ, msg string) {
|
||||
|
||||
Reference in New Issue
Block a user