From: Sage Weil Date: Thu, 21 Aug 2014 23:18:01 +0000 (-0700) Subject: mon: _reset() before updating state X-Git-Tag: v0.86~190^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=96030d63a44c641f1f90314e7d616a59704d50ae;p=ceph.git mon: _reset() before updating state In _reset() we call Paxos::restart(), which waits for commit completion, and assumes the state hasn't been twiddled yet. Signed-off-by: Sage Weil --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 8d4f026b9b95..f9327ef9e2a6 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -909,9 +909,6 @@ void Monitor::_reset() { dout(10) << __func__ << dendl; - assert(state == STATE_ELECTING || - state == STATE_PROBING); - cancel_probe_timeout(); timecheck_finish(); @@ -1664,18 +1661,17 @@ void Monitor::handle_probe_reply(MMonProbe *m) void Monitor::join_election() { dout(10) << __func__ << dendl; + _reset(); state = STATE_ELECTING; logger->inc(l_mon_num_elections); - - _reset(); } void Monitor::start_election() { dout(10) << "start_election" << dendl; - state = STATE_ELECTING; _reset(); + state = STATE_ELECTING; logger->inc(l_mon_num_elections); logger->inc(l_mon_election_call);