Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raft,tracker: track follower commit index #132

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions confchange/testdata/joint_autoleave.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

# Autoleave is reflected in the config.
enter-joint autoleave=true
v2 v3
----
voters=(1 2 3)&&(1) autoleave
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
3: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
3: StateProbe match=0 commit=0 next=1

# Can't enter-joint twice, even if autoleave changes.
enter-joint autoleave=false
Expand All @@ -24,6 +24,6 @@ config is already joint
leave-joint
----
voters=(1 2 3)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
3: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
3: StateProbe match=0 commit=0 next=1
14 changes: 7 additions & 7 deletions confchange/testdata/joint_idempotency.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

enter-joint
r1 r2 r9 v2 v3 v4 v2 v3 v4 l2 l2 r4 r4 l1 l1
----
voters=(3)&&(1) learners=(2) learners_next=(1)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1 learner
3: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1 learner
3: StateProbe match=0 commit=0 next=1

leave-joint
----
voters=(3) learners=(1 2)
1: StateProbe match=0 next=1 learner
2: StateProbe match=0 next=1 learner
3: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1 learner
2: StateProbe match=0 commit=0 next=1 learner
3: StateProbe match=0 commit=0 next=1
10 changes: 5 additions & 5 deletions confchange/testdata/joint_learners_next.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

enter-joint
v2 l1
----
voters=(2)&&(1) learners_next=(1)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1

leave-joint
----
voters=(2) learners=(1)
1: StateProbe match=0 next=1 learner
2: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1 learner
2: StateProbe match=0 commit=0 next=1
28 changes: 14 additions & 14 deletions confchange/testdata/joint_safety.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=3
1: StateProbe match=0 commit=0 next=3

leave-joint
----
Expand All @@ -25,7 +25,7 @@ can't leave a non-joint config
enter-joint
----
voters=(1)&&(1)
1: StateProbe match=0 next=3
1: StateProbe match=0 commit=0 next=3

enter-joint
----
Expand All @@ -34,7 +34,7 @@ config is already joint
leave-joint
----
voters=(1)
1: StateProbe match=0 next=3
1: StateProbe match=0 commit=0 next=3

leave-joint
----
Expand All @@ -45,10 +45,10 @@ enter-joint
r1 v2 v3 l4
----
voters=(2 3)&&(1) learners=(4)
1: StateProbe match=0 next=3
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner
1: StateProbe match=0 commit=0 next=3
2: StateProbe match=0 commit=0 next=9
3: StateProbe match=0 commit=0 next=9
4: StateProbe match=0 commit=0 next=9 learner

enter-joint
----
Expand All @@ -67,15 +67,15 @@ can't apply simple config change in joint config
leave-joint
----
voters=(2 3) learners=(4)
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner
2: StateProbe match=0 commit=0 next=9
3: StateProbe match=0 commit=0 next=9
4: StateProbe match=0 commit=0 next=9 learner

simple
l9
----
voters=(2 3) learners=(4 9)
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner
9: StateProbe match=0 next=14 learner
2: StateProbe match=0 commit=0 next=9
3: StateProbe match=0 commit=0 next=9
4: StateProbe match=0 commit=0 next=9 learner
9: StateProbe match=0 commit=0 next=14 learner
30 changes: 15 additions & 15 deletions confchange/testdata/simple_idempotency.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,68 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

simple
v2
----
voters=(1 2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=2

simple
l1
----
voters=(2) learners=(1)
1: StateProbe match=0 next=1 learner
2: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1 learner
2: StateProbe match=0 commit=0 next=2

simple
l1
----
voters=(2) learners=(1)
1: StateProbe match=0 next=1 learner
2: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1 learner
2: StateProbe match=0 commit=0 next=2

simple
r1
----
voters=(2)
2: StateProbe match=0 next=2
2: StateProbe match=0 commit=0 next=2

simple
r1
----
voters=(2)
2: StateProbe match=0 next=2
2: StateProbe match=0 commit=0 next=2

simple
v3
----
voters=(2 3)
2: StateProbe match=0 next=2
3: StateProbe match=0 next=7
2: StateProbe match=0 commit=0 next=2
3: StateProbe match=0 commit=0 next=7

simple
r3
----
voters=(2)
2: StateProbe match=0 next=2
2: StateProbe match=0 commit=0 next=2

simple
r3
----
voters=(2)
2: StateProbe match=0 next=2
2: StateProbe match=0 commit=0 next=2

simple
r4
----
voters=(2)
2: StateProbe match=0 next=2
2: StateProbe match=0 commit=0 next=2
36 changes: 18 additions & 18 deletions confchange/testdata/simple_promote_demote.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,57 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

simple
v2
----
voters=(1 2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1

simple
v3
----
voters=(1 2 3)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
3: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
3: StateProbe match=0 commit=0 next=2

# Can atomically demote and promote without a hitch.
# This is pointless, but possible.
simple
l1 v1
----
voters=(1 2 3)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
3: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
3: StateProbe match=0 commit=0 next=2

# Can demote a voter.
simple
l2
----
voters=(1 3) learners=(2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1 learner
3: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1 learner
3: StateProbe match=0 commit=0 next=2

# Can atomically promote and demote the same voter.
# This is pointless, but possible.
simple
v2 l2
----
voters=(1 3) learners=(2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1 learner
3: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1 learner
3: StateProbe match=0 commit=0 next=2

# Can promote a voter.
simple
v2
----
voters=(1 2 3)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
3: StateProbe match=0 next=2
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
3: StateProbe match=0 commit=0 next=2
20 changes: 10 additions & 10 deletions confchange/testdata/simple_safety.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

simple
v2 l3
----
voters=(1 2) learners=(3)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=2
3: StateProbe match=0 next=2 learner
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=2
3: StateProbe match=0 commit=0 next=2 learner

simple
r1 v5
Expand Down Expand Up @@ -46,11 +46,11 @@ simple
l2 l3 l4 l5
----
voters=(1) learners=(2 3 4 5)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=2 learner
3: StateProbe match=0 next=2 learner
4: StateProbe match=0 next=8 learner
5: StateProbe match=0 next=8 learner
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=2 learner
3: StateProbe match=0 commit=0 next=2 learner
4: StateProbe match=0 commit=0 next=8 learner
5: StateProbe match=0 commit=0 next=8 learner

simple
r1
Expand All @@ -61,4 +61,4 @@ simple
r2 r3 r4 r5
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
10 changes: 5 additions & 5 deletions confchange/testdata/update.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ simple
v1
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1

simple
v2 u1
----
voters=(1 2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1

simple
u1 u2 u3 u1 u2 u3
----
voters=(1 2)
1: StateProbe match=0 next=1
2: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
2: StateProbe match=0 commit=0 next=1
2 changes: 1 addition & 1 deletion confchange/testdata/zero.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ simple
v1 r0 v0 l0
----
voters=(1)
1: StateProbe match=0 next=1
1: StateProbe match=0 commit=0 next=1
Loading
Loading