RaftConsensusNonVoterITest.PromoteAndDemote disables normal leader elections and runs an election manually, to avoid some previous flakiness. Unfortunately, this introduces flakiness, because, rarely, the manual election fails when the vote requests time out. The candidate concludes it has lost the election, and then after that the two other voters vote yes.
The timeout for vote requests is 170ms, which is pretty short. If it were raised to, say, 5s, the test would probably not be flaky anymore.