review: a session log that cannot be read now is waited out
The worker marked a turn failed on any error reading its log. A missing log, a damaged line or a turn not found still fail it; any other I/O error is now waited out with the outage's doubling wait, logged once when it starts and once when the log reads again (pointer session-log-damaged, whose runbook entry now covers it), shown by bxctl memory sync, and the turn stays waiting. read_records tells an unreadable file from a damaged line (read_log is unchanged). The message helpers move from worker.rs to honcho/messages.rs, re-exported, to keep worker.rs under 500 lines. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,7 @@ fn at(minute: u32) -> Timestamp {
|
||||
const ALL: &str = "honcho sync: 0 decided: 0 sent, 0 waiting, 0 failed, 0 skipped
|
||||
brokerd unanswered since 2026-09-28T10:01:00.000Z: turns wait undecided
|
||||
honcho unreachable since 2026-09-28T10:02:00.000Z: sends wait and are retried
|
||||
session log unreadable since 2026-09-28T10:03:00.000Z: sends wait and are retried
|
||||
key refused (HTTP 401): trusted workspace boxmaker0-trusted: its sends wait until memoryd restarts
|
||||
key refused (HTTP 403): fleet workspace fleet: its sends wait until memoryd restarts";
|
||||
|
||||
@@ -54,6 +55,7 @@ fn the_status_lines_are_exactly_these() {
|
||||
let mut status = Status {
|
||||
broker_down_since: Some(at(1)),
|
||||
outage_since: Some(at(2)),
|
||||
log_unreadable_since: Some(at(3)),
|
||||
..Status::default()
|
||||
};
|
||||
status
|
||||
|
||||
Reference in New Issue
Block a user