Skip to content

FLOWIP-071g: Remove wall-clock tie-breakers from causal ordering#22

Merged
rocketpages merged 5 commits intomainfrom
flowip-071g-wall-clock-removal
Mar 25, 2026
Merged

FLOWIP-071g: Remove wall-clock tie-breakers from causal ordering#22
rocketpages merged 5 commits intomainfrom
flowip-071g-wall-clock-removal

Conversation

@rocketpages
Copy link
Copy Markdown
Contributor

Checklist

  • I read CONTRIBUTING.md
  • All commits are signed off (DCO): git commit -s
  • I ran: cargo fmt --all
  • I ran: cargo test --workspace

Summary

  • Replace timestamp-based tie-breaking with EventId ordering for concurrent events in both disk and memory journals
  • Fix a race in DiskJournal where concurrent appends from the same writer could produce duplicate sequence numbers
  • Add a shared comparator so both journal implementations use the same ordering logic
  • Tighten replay archive version checking to reject archives from a different major.minor framework version
  • Add tests for concurrent event ordering, cross-journal parity, and same-writer append safety

Signed-off-by: Kevin Webber <kevin@obzenflow.dev>
Signed-off-by: Kevin Webber <kevin@obzenflow.dev>
Signed-off-by: Kevin Webber <kevin@obzenflow.dev>
Signed-off-by: Kevin Webber <kevin@obzenflow.dev>
Signed-off-by: Kevin Webber <kevin@obzenflow.dev>
@rocketpages rocketpages merged commit d5b820d into main Mar 25, 2026
7 checks passed
@rocketpages rocketpages deleted the flowip-071g-wall-clock-removal branch March 25, 2026 13:57
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