]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mon: cancel probe timeout on reset
authorSage Weil <sage@inktank.com>
Tue, 25 Jun 2013 01:12:11 +0000 (18:12 -0700)
committerSage Weil <sage@inktank.com>
Tue, 25 Jun 2013 20:40:08 +0000 (13:40 -0700)
commit305f0c50a5f0ffabc73e10bdf4590217d5d5d211
treeb41076f9407ee256b129b3edc512b9a19e3ae7ee
parenta8f601d543168f4cdbddf674479d8de4b8dfc732
mon: cancel probe timeout on reset

If we are probing and get (say) an election timeout that calls reset(),
cancel the timer.  Otherwise, we assert later with a splat like

2013-06-24 01:09:33.675882 7fb9627e7700  4 mon.b@0(leader) e1 probe_timeout 0x307a520
2013-06-24 01:09:33.676956 7fb9627e7700 -1 mon/Monitor.cc: In function 'void Monitor::probe_timeout(int)' thread 7fb9627e7700 time 2013-06-24 01:09:43.675904
mon/Monitor.cc: 1888: FAILED assert(is_probing() || is_synchronizing())

 ceph version 0.64-613-g134d08a (134d08a9654f66634b893d493e4a92f38acc63cf)
 1: (Monitor::probe_timeout(int)+0x161) [0x56f5c1]
 2: (Context::complete(int)+0xa) [0x574a2a]
 3: (SafeTimer::timer_thread()+0x425) [0x7059a5]
 4: (SafeTimerThread::entry()+0xd) [0x7065dd]
 5: (()+0x7e9a) [0x7fb966f62e9a]
 6: (clone()+0x6d) [0x7fb9652f9ccd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Fixes: #5438
Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 03d3be3eaa96a8e72754c36abd6f355c68d52d59)
src/mon/Monitor.cc