diff --git a/candidate.go b/candidate.go index b4b3722..a139f4d 100644 --- a/candidate.go +++ b/candidate.go @@ -250,9 +250,18 @@ func (c *Candidate) elect(ctx context.Context, ec *event.Client, v *vote) { continue } - if vote.LastSeenCandidateID != c.resp.CandidateID { + if vote.LastSeenCandidateID != "" && vote.LastSeenCandidateID != c.resp.CandidateID { // Hard no; voted for someone else no++ + + if c.state == StateLeader { + c.log(ctx, ec, + "event", "noVoteWhileLeader", + "voterID", vote.VoterID, + "otherCandidateID", vote.LastSeenCandidateID, + "numPollsSincechange", vote.NumPollsSinceChange, + ) + } } 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{ "library", "elect", "subsystem", "candidate", + "candidateID", c.resp.CandidateID, }, vals...)...) } diff --git a/voter.go b/voter.go index 51cc4fb..118876e 100644 --- a/voter.go +++ b/voter.go @@ -198,5 +198,6 @@ func (v *Voter) log(ctx context.Context, ec *event.Client, vals ...any) { ec.Log(ctx, append([]any{ "library", "elect", "subsystem", "voter", + "voterID", v.vote.VoterID, }, vals...)...) }