review: bxctl memory sync shows what the Honcho side waits on
A shared status, kept by the worker and the walk and read by the report under its own leaf lock, holds the workspaces whose key was refused, when an outage of Honcho began, and when brokerd stopped answering. The report adds a line for each while it lasts, and is unchanged when all is well. The runbook's Honcho entries and broker-state-unavailable now say what sync shows. Tuning and Wake move to honcho/wake.rs (re-exported from worker) to keep worker.rs under 500 lines. honcho_sync.rs's serve test now allows the outage line: the write wakes the worker, which finds Honcho unreachable. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -221,11 +221,19 @@ fn memoryd_answers_with_the_report() {
|
||||
untrusted: false,
|
||||
});
|
||||
ask(&config.broker_socket(), call);
|
||||
// Honcho is not reachable here: the conclusion waits.
|
||||
// Honcho is not reachable here: the conclusion waits. The write wakes the worker, so once it
|
||||
// has tried, the report also shows the outage (review of M5c-1, findings 3 and 4).
|
||||
let shown = sync(&config);
|
||||
let mut lines = shown.lines();
|
||||
assert_eq!(
|
||||
sync(&config),
|
||||
"honcho sync: 1 decided: 0 sent, 1 waiting, 0 failed, 0 skipped"
|
||||
lines.next(),
|
||||
Some("honcho sync: 1 decided: 0 sent, 1 waiting, 0 failed, 0 skipped")
|
||||
);
|
||||
if let Some(outage) = lines.next() {
|
||||
assert!(outage.starts_with("honcho unreachable since "), "{shown}");
|
||||
assert!(outage.ends_with(": sends wait and are retried"), "{shown}");
|
||||
}
|
||||
assert_eq!(lines.next(), None, "{shown}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user