Skip to content

Force critical conflict and cleanup regression conditions - #7

Open
jeregrine wants to merge 1 commit into
mainfrom
fix/deterministic-regressions
Open

Force critical conflict and cleanup regression conditions#7
jeregrine wants to merge 1 commit into
mainfrom
fix/deterministic-regressions

Conversation

@jeregrine

Copy link
Copy Markdown
Member

Problem

Sequential registrations do not guarantee equal timestamps, and increasing shard count does not guarantee late discovery runs after another shard's cleanup. The existing scenarios can pass without exercising the specific regressions they describe.

Fix

Add focused protocol regressions with real remote PIDs and deliberately equal timestamps. Exercise both PID orderings through batched replication and snapshot merge, checking the exact winner, loser exit reason, eviction event, and index consistency. Separate Group instances prevent discovery or rebroadcast from resolving the conflict before the input under examination arrives.

Explicit mailbox barriers schedule shard-zero cleanup, late discovery on shard one, and shard-one cleanup. Exercise nodedown and monitor DOWN independently, keeping the peer alive so an unrelated automatic cleanup signal cannot mask a broken handler.

Retain the existing real partition-heal and node-death scenarios as end-to-end coverage, with descriptions that distinguish them from the deterministic regressions.

Supporting information

No production behavior changes. The deliberate signal delivery complements real network-failure scenarios; it is not a simulation of the entire distribution runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant