1jehuang / 1jehuang/jcode

Swarm await/summary reports terminated workers as done with status 'unknown' instead of failed

Open
#589 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority: medium triage: reproducible
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, not unknown.
  • await_members should not count unknown toward "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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.