MoreUpToDateCorrectInv is not an invariant, move to Debug (#5934)

This commit is contained in:
Amaury Chamayou 2024-01-18 11:50:08 +00:00 коммит произвёл GitHub
Родитель c69933717c
Коммит 0237ccb5cf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
5 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -71,7 +71,6 @@ INVARIANTS
ElectionSafetyInv
LogMatchingInv
QuorumLogInv
MoreUpToDateCorrectInv
LeaderCompletenessInv
SignatureInv
TypeInv

Просмотреть файл

@ -71,7 +71,6 @@ INVARIANTS
ElectionSafetyInv
LogMatchingInv
QuorumLogInv
MoreUpToDateCorrectInv
LeaderCompletenessInv
SignatureInv
TypeInv

Просмотреть файл

@ -71,7 +71,6 @@ INVARIANTS
ElectionSafetyInv
LogMatchingInv
QuorumLogInv
MoreUpToDateCorrectInv
LeaderCompletenessInv
SignatureInv
TypeInv

Просмотреть файл

@ -73,7 +73,6 @@ INVARIANTS
ElectionSafetyInv
LogMatchingInv
QuorumLogInv
MoreUpToDateCorrectInv
LeaderCompletenessInv
SignatureInv
@ -101,4 +100,5 @@ INVARIANTS
\* DebugInvSuccessfulCommitAfterReconfig
\* DebugInvAllMessagesProcessable
\* DebugInvRetirementReachable
\* DebugInvUpToDepth
\* DebugInvUpToDepth
\* DebugMoreUpToDateCorrectInv

Просмотреть файл

@ -1195,7 +1195,10 @@ UpToDateCheck(i, j) ==
\* If a server i might request a vote from j, receives it and counts it then i
\* has all of j's committed entries
MoreUpToDateCorrectInv ==
\* This is not an invariant, it is possible for j to vote for i despite i not
\* having all of j's committed entries. What isn't possible is for i to win
\* an election without having all of j's committed entries.
DebugMoreUpToDateCorrectInv ==
\A i \in { s \in Servers : leadershipState[s] = Candidate } :
\A j \in GetServerSet(i) :
/\ i /= j