dout(5) << "collect timeout, calling fresh election" << dendl;
collect_timeout_event = 0;
assert(mon->is_leader());
- cancel_events();
mon->call_election();
}
accept_timeout_event = 0;
assert(mon->is_leader());
assert(is_updating());
- cancel_events();
mon->call_election();
}
assert(is_active());
lease_ack_timeout_event = 0;
- cancel_events();
mon->call_election();
}
assert(mon->is_peon());
lease_timeout_event = 0;
- cancel_events();
mon->call_election();
}
void Paxos::leader_init()
{
cancel_events();
+ new_value.clear();
+
if (mon->get_quorum().size() == 1) {
state = STATE_ACTIVE;
return;
void Paxos::peon_init()
{
cancel_events();
+ new_value.clear();
+
state = STATE_RECOVERING;
lease_expire = utime_t();
dout(10) << "peon_init -- i am a peon" << dendl;