TLA+ Trace

State 1: <Initial predicate>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{} n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Secondary
n2 :> Secondary
n3 :> Secondary
{<<>>} {} n1 :> {n1, n2, n3}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 0
n2 :> 0
n3 :> 0
n1 :> 0
n2 :> 0
n3 :> 0
n1 :> {}
n2 :> {}
n3 :> {}
State 2: <BecomeLeaderAction line 483, col 47 to line 483, col 99 of module MongoReplReconfig>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{[eterm |-> 1, eleader |-> n1, elog |-> <<>>, evotes |-> {n1, n2}]} n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Primary
n2 :> Secondary
n3 :> Secondary
{<<>>} {} n1 :> {n1, n2, n3}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 1
n2 :> 1
n3 :> 0
n1 :> 0
n2 :> 0
n3 :> 0
n1 :> {1}
n2 :> {1}
n3 :> {}
State 3: <BecomeLeaderAction line 483, col 47 to line 483, col 99 of module MongoReplReconfig>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{ [eterm |-> 1, eleader |-> n1, elog |-> <<>>, evotes |-> {n1, n2}],
[eterm |-> 2, eleader |-> n2, elog |-> <<>>, evotes |-> {n2, n3}] }
n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Primary
n2 :> Primary
n3 :> Secondary
{<<>>} {} n1 :> {n1, n2, n3}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 1
n2 :> 2
n3 :> 2
n1 :> 0
n2 :> 0
n3 :> 0
n1 :> {1}
n2 :> {1, 2}
n3 :> {2}
State 4: <ReconfigAction line 487, col 47 to line 487, col 99 of module MongoReplReconfig>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{ [eterm |-> 1, eleader |-> n1, elog |-> <<>>, evotes |-> {n1, n2}],
[eterm |-> 2, eleader |-> n2, elog |-> <<>>, evotes |-> {n2, n3}] }
n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Primary
n2 :> Primary
n3 :> Secondary
{<<>>} {} n1 :> {n1, n3}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 1
n2 :> 2
n3 :> 2
n1 :> 1
n2 :> 0
n3 :> 0
n1 :> {1}
n2 :> {1, 2}
n3 :> {2}
State 5: <ReconfigAction line 487, col 47 to line 487, col 99 of module MongoReplReconfig>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{ [eterm |-> 1, eleader |-> n1, elog |-> <<>>, evotes |-> {n1, n2}],
[eterm |-> 2, eleader |-> n2, elog |-> <<>>, evotes |-> {n2, n3}] }
n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Primary
n2 :> Primary
n3 :> Secondary
{<<>>} {} n1 :> {n1}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 1
n2 :> 2
n3 :> 2
n1 :> 2
n2 :> 0
n3 :> 0
n1 :> {1}
n2 :> {1, 2}
n3 :> {2}
State 6: <BecomeLeaderAction line 483, col 47 to line 483, col 99 of module MongoReplReconfig>
elections log state allLogs immediatelyCommitted config currentTerm configVersion votedFor
{ [eterm |-> 1, eleader |-> n1, elog |-> <<>>, evotes |-> {n1, n2}],
[eterm |-> 2, eleader |-> n1, elog |-> <<>>, evotes |-> {n1}],
[eterm |-> 2, eleader |-> n2, elog |-> <<>>, evotes |-> {n2, n3}] }
n1 :> <<>>
n2 :> <<>>
n3 :> <<>>
n1 :> Primary
n2 :> Primary
n3 :> Secondary
{<<>>} {} n1 :> {n1}
n2 :> {n1, n2, n3}
n3 :> {n1, n2, n3}
n1 :> 2
n2 :> 2
n3 :> 2
n1 :> 2
n2 :> 0
n3 :> 0
n1 :> {1, 2}
n2 :> {1, 2}
n3 :> {2}