swactor/crates/distribution
Claude 1c07f02be2 fix: SWIM Suspect recovery + piggyback ordering race condition
Two bugs found by simulation testing:

1. Suspect nodes could never recover after dissemination budget expired.
   When probing a target, the Suspect state was not re-enqueued into the
   dissemination queue (only Dead was). After budget exhaustion, the
   Suspect node never received a piggyback telling it it was suspected,
   so it could never refute via incarnation bump. Fix: re-enqueue both
   Suspect and Dead state on outgoing probes.

2. Registry entries merged before membership changes in same piggyback.
   When a message carried both a death notification and registry entries,
   the entries were merged first, then immediately tombstoned. Fix: split
   extract_registry_piggyback into unpack + deferred merge, processing
   membership changes before merging registry entries.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 09:21:59 +00:00
..
src fix: SWIM Suspect recovery + piggyback ordering race condition 2026-02-13 09:21:59 +00:00
tests distribution realization (#33) 2026-02-13 07:55:12 +00:00
Cargo.toml feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
DESIGN_NOTES.md feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00