Include IDs with events, ignore blank votes
This commit is contained in:
12
candidate.go
12
candidate.go
@@ -250,9 +250,18 @@ func (c *Candidate) elect(ctx context.Context, ec *event.Client, v *vote) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if vote.LastSeenCandidateID != c.resp.CandidateID {
|
if vote.LastSeenCandidateID != "" && vote.LastSeenCandidateID != c.resp.CandidateID {
|
||||||
// Hard no; voted for someone else
|
// Hard no; voted for someone else
|
||||||
no++
|
no++
|
||||||
|
|
||||||
|
if c.state == StateLeader {
|
||||||
|
c.log(ctx, ec,
|
||||||
|
"event", "noVoteWhileLeader",
|
||||||
|
"voterID", vote.VoterID,
|
||||||
|
"otherCandidateID", vote.LastSeenCandidateID,
|
||||||
|
"numPollsSincechange", vote.NumPollsSinceChange,
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if vote.NumPollsSinceChange < 10 {
|
if vote.NumPollsSinceChange < 10 {
|
||||||
@@ -316,6 +325,7 @@ func (c *Candidate) log(ctx context.Context, ec *event.Client, vals ...any) {
|
|||||||
ec.Log(ctx, append([]any{
|
ec.Log(ctx, append([]any{
|
||||||
"library", "elect",
|
"library", "elect",
|
||||||
"subsystem", "candidate",
|
"subsystem", "candidate",
|
||||||
|
"candidateID", c.resp.CandidateID,
|
||||||
}, vals...)...)
|
}, vals...)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
1
voter.go
1
voter.go
@@ -198,5 +198,6 @@ func (v *Voter) log(ctx context.Context, ec *event.Client, vals ...any) {
|
|||||||
ec.Log(ctx, append([]any{
|
ec.Log(ctx, append([]any{
|
||||||
"library", "elect",
|
"library", "elect",
|
||||||
"subsystem", "voter",
|
"subsystem", "voter",
|
||||||
|
"voterID", v.vote.VoterID,
|
||||||
}, vals...)...)
|
}, vals...)...)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user