apache / apache/iggy

Implement Clustering (VSR)

Open
#1,914 7 comments 2 reactions 0 assignees View on GitHub
cluster server
Dominant language
Rust
Stars
4.9k
Forks
432
Avg merge
2d 10h
Merged PRs (30d)
173

Description

### This issue provides insight into the technical details of implementing View-stamped Replication for Apache Iggy.

[Viewstamped Replication](http://pmg.csail.mit.edu/papers/vr-revisited.pdf)

- [ ] Clocking mechanism
- [Algorithm](https://en.wikipedia.org/wiki/Marzullo%27s_algorithm)
- [Cluster Time](https://tigerbeetle.com/blog/three-clocks-are-better-than-one/)
- [ ] Quorum
- To be finalized: [Heidi Howard’s flexible quorums](https://arxiv.org/pdf/1608.06696v1)
- [ ] Internode Wire Protocol

**Extras**

- [ ] Storage Fault Tolerance/Protocol Aware Recovery
- [ ] Handle grey failures
- [ ] Deterministic Testing - no Async libraries? [tokio](https://turso.tech/blog/a-deep-look-into-our-new-massive-multitenant-architecture)

**Inspiration**

[Tigerbeetle implements VSR in a Financial Database](https://tigerbeetle.com/)

**Relevant Issues**

- https://github.com/apache/iggy/issues/1291#issue-2583940703

Contributor guide

Open the contributing guide

Research direction

Start with the linked View-stamped Replication paper, the clocking and quorum references, and relevant issue #1291; the issue names no source files, tests, or entry points. Define the clustering design around clocking, quorum, and the internode wire protocol, then address the listed fault-tolerance and deterministic-testing extras as scope is finalized.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.