FV-6: Liveness properties + fairness constraints
- mvcc.tla: Add CommitProgress liveness (verified with WF_vars) - raft/twopc/mvcc/gossip: Add Spec definitions with WF_vars(Next) - gossip.tla: Fix LearnViaGossip strength-based filtering (prevents overwriting Dead/Suspect with weaker state) - twopc.tla: Add DecideCommitAction/DecideAbortAction for SF fairness - Update all .cfg files to use SPECIFICATION Spec - Update CHANGELOG.md -> v1.1.0, VERSION -> 1.1.0, PLAN.md
This commit is contained in:
@@ -231,4 +231,13 @@ TypeOk ==
|
||||
/\ nextIndex \in [Nodes -> [Nodes -> 1..(MaxLogLen+1)]]
|
||||
/\ matchIndex \in [Nodes -> [Nodes -> 0..MaxLogLen]]
|
||||
|
||||
\* Liveness properties
|
||||
|
||||
\* If a node becomes leader, eventually it commits at least one entry.
|
||||
LeaderProgress ==
|
||||
\A i \in Nodes : state[i] = "Leader" ~> commitIndex[i] > 0
|
||||
|
||||
\* Specification with weak fairness (all actions get a fair chance).
|
||||
Spec == Init /\ [][Next]_vars /\ WF_vars(Next)
|
||||
|
||||
=============================================================================
|
||||
|
||||
Reference in New Issue
Block a user