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 |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| Cargo.toml | ||
| DESIGN_NOTES.md | ||