Swarm await/summary reports terminated workers as done with status 'unknown' instead of failed
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 19.9k
- Forks
- 2.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 30
Description
Split out of #512 symptom 3. The boot-time death causes from that issue are fixed (see #512 for the commit list); this reporting gap is the residual.
Problem
When a swarm worker process vanishes rather than exiting through a normal completion path, await_members reports it as done with status "unknown", and "All members done" fires while every status is still unknown. A coordinator therefore treats a dead worker as a finished one and proceeds to synthesize from missing output.
Expected
- A member whose process disappeared without reporting should settle as
failed, notunknown. await_membersshould not countunknowntoward "all done"; either keep waiting or resolve it to a terminal failure.- The summary should distinguish "reported ready", "failed", and "vanished/no status" so a coordinator can retry or salvage.
Why it matters
This is the silent-failure half of #512: even with boot failures now loud, a mid-run death still degrades into a plausible-looking success, which is the worst outcome for an orchestrator.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the await_members entry point and trace how vanished workers receive their status and how the "All members done" condition is computed. Reproduce a worker disappearance, then verify that unknown workers do not count as done and the summary distinguishes ready, failed, and vanished members.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100