Replace Condvar epochs with clocks
- Dominant language
- Rust
- Stars
- 1.1k
- Forks
- 59
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 15
Description
#38 adds support for tracking causality using vector clocks. We think it might be possible for these vector clocks to replace [epochs](https://github.com/awslabs/shuttle/blob/74fb737df150e0a521754bbe001b434a54e84ac7/src/sync/condvar.rs#L68) in the implementation of Condvar, since they capture the same information (an ordering between operations in the same condvar). This would hopefully make the Condvar implementation simpler and more obviously correct.
Contributor guide
Research direction
Start with src/sync/condvar.rs around line 68 and review issue #38's vector-clock support. Compare the existing epoch-based Condvar logic with the causality information provided by vector clocks. Done means establishing that the replacement preserves Condvar ordering and simplifies the implementation without weakening correctness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100