  Leader-based consensus protocols must undergo a view-change phase to elect a
new leader when the current leader fails. The new leader is often decided upon
a candidate server that collects votes from a quorum of servers. However,
voting-based election mechanisms intrinsically cause competition in leadership
candidacy when each candidate collects only partial votes. This split-vote
scenario can result in no leadership winner and prolong the undesired
view-change period. In this paper, we investigate a case study of Raft's leader
election mechanism and propose a new leader election protocol, called ESCAPE,
that fundamentally solves split votes by prioritizing servers based on their
log responsiveness. ESCAPE dynamically assigns servers with a configuration
that offers different priorities through Raft's periodic heartbeat. In each
assignment, ESCAPE keeps track of server log responsiveness and assigns
configurations that are inclined to win an election to more up-to-date servers,
thereby preparing a pool of prioritized candidates. Consequently, when the next
election takes place, the candidate with the highest priority will defeat its
counterparts and becomes the next leader without competition. The evaluation
results show that ESCAPE progressively reduces the leader election time when
the cluster scales up, and the improvement becomes more significant under
message loss.
