Hi AJ,
On bootstrapping, Section 4.4, page 46 of the dissertation says,
"Instead, we recommend that the very first
time a cluster is created, one server is initialized
with a configuration entry as the first entry
in its log. This configuration lists only that one
server; it alone forms a majority of its configuration,
so it can consider this configuration committed.
Other servers from then on should be initialized
with empty logs; they are added to the cluster
and learn of the current configuration through
the membership change mechanism."
If you have this bootstrap log-entry in place for (only) the designated
leader's log; and you have the pre-vote, and sticky-leader optimizations,
then you should definitely not be seeing premature
leader churn because the designated leader will
always have the longer log as nodes join initially.