]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: re-bootstrap if we get probed by a mon that is way ahead
authorSage Weil <sage@redhat.com>
Thu, 18 Sep 2014 21:23:36 +0000 (14:23 -0700)
committerSage Weil <sage@redhat.com>
Thu, 18 Sep 2014 21:23:36 +0000 (14:23 -0700)
commitc421b55e8e15ef04ca8aeb47f7d090375eaa8573
tree175be34cf32fd9762c32aa2d594ab711e3c065ab
parentd81cd7f86695185dce31df76c33c9a02123f0e4a
mon: re-bootstrap if we get probed by a mon that is way ahead

During bootstrap we verify that our paxos commits overlap with the other
mons we will form a quorum with.  If they do not, we do a sync.

However, it is possible we pass those checks, then fail to join a quorum
before the quorum moves ahead in time such that we no longer overlap.
Currently nothing kicks up back into a probing state to discover we need
to sync... we will just keep trying to call or join an election instead.

Fix this by jumping back to bootstrap if we get a probe that is ahead of
us.  Only do this from non probe or sync states as these will be common;
it is only the active and electing states that matter (and probably just
electing!).

Fixes: #9301
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/Monitor.cc