awslabs / awslabs/shuttle

Replace Condvar epochs with clocks

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.