]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: reset new_value(); cancel_timers() cleanup
authorSage Weil <sage@newdream.net>
Mon, 30 Jun 2008 23:31:30 +0000 (16:31 -0700)
committerSage Weil <sage@newdream.net>
Mon, 30 Jun 2008 23:31:30 +0000 (16:31 -0700)
src/mon/Paxos.cc

index 73c6a9c439e83affb670baccb83aaffb1b5b91eb..b4a62f5e50c14e199f0c2f600b83430ba7a7de9b 100644 (file)
@@ -248,7 +248,6 @@ void Paxos::collect_timeout()
   dout(5) << "collect timeout, calling fresh election" << dendl;
   collect_timeout_event = 0;
   assert(mon->is_leader());
-  cancel_events();
   mon->call_election();
 }
 
@@ -399,7 +398,6 @@ void Paxos::accept_timeout()
   accept_timeout_event = 0;
   assert(mon->is_leader());
   assert(is_updating());
-  cancel_events();
   mon->call_election();
 }
 
@@ -582,7 +580,6 @@ void Paxos::lease_ack_timeout()
   assert(is_active());
 
   lease_ack_timeout_event = 0;
-  cancel_events();
   mon->call_election();
 }
 
@@ -592,7 +589,6 @@ void Paxos::lease_timeout()
   assert(mon->is_peon());
 
   lease_timeout_event = 0;
-  cancel_events();
   mon->call_election();
 }
 
@@ -672,6 +668,8 @@ void Paxos::cancel_events()
 void Paxos::leader_init()
 {
   cancel_events();
+  new_value.clear();
+
   if (mon->get_quorum().size() == 1) {
     state = STATE_ACTIVE;                          
     return;
@@ -685,6 +683,8 @@ void Paxos::leader_init()
 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;